setContentMode:对于HJManagedImageV不适用于iOS
我正在使用第三方库,HJCacheClasses,用于异步加载图像。 以下是相同的代码。其非常直截了当setContentMode:对于HJManagedImageV不适用于iOS
NSMutableString *url = @"my url";
HJManagedImageV *asyncImageView = [[HJManagedImageV alloc] initWithFrame:frame];
[asyncImageView setBackgroundColor:[UIColor grayColor]];
[asyncImageView showLoadingWheel];
[asyncImageView setContentMode:UIViewContentModeScaleAspectFill];
[asyncImageView.imageView setContentMode:UIViewContentModeScaleAspectFill];
asyncImageView.url = [NSURL URLWithString:url];
[self.imageManager manage:asyncImageView];
[the_pScrollView addSubview:asyncImageView];
一切正常,除了图像居中并根据该图(其是全屏幕的尺寸的)的大小,它没有得到拉伸/装配。我知道图像很小,但我需要使它适合视图以填充视图。但是没有setContentMode正在工作。
任何想法
请拍 拉吉
我发现了我自己的答案,我觉得更简单和明智。正如我所提到的,在HJManagedImageV类的源代码中,作者对HJManagedImageV实例的imageView进行了硬编码,使其始终处于纵横比。所以,我只是评论说,代码...对于谁喜欢做同样遵循以下步骤
- 转到HJManagedImageV.m文件
-
搜索名为
方法的人 - (空) setImage:(UIImage的*)theImage
注释的行 imageView.contentMode = ... 或者设置你想要的ImageView的内容模式。 注意:这将为使用此类的所有imageView设置内容模式。所以我宁愿选择第一个选项。
在您使用此类的代码中,为HJManagedImageV设置内容模式。
完蛋了...享受
如果你看看HJManagedImageV类的源代码,你会发现笔者硬编码的HJManagedImageV实例的ImageView的永远是方面的配合。所以默认情况下,你永远不会得到方面填充内容模式工作。
有一个简单的方法,虽然实现这一目标,之后你设置管理的图像视图的url属性,还回调添加到您自己的类,像这样:
myImageView.callbackOnSetImage = (id)self;
而在回调函数像这样为imageView设置所需的contentMode。这已经过测试,适用于我。祝你好运
-(void) managedImageSet:(HJManagedImageV*)mi
{
mi.imageView.contentMode = UIViewContentModeScaleAspectFill;
}
感谢您的反馈...我想你的解决方案,它的作品...但下面是我认为是更简单... – Nik 2012-05-22 08:06:32
拉吉,每当你用更新的版本更新库时,你必须查看源代码并以指定的方式进行调整。考虑一下 – 2012-05-24 13:34:16