setContentMode:对于 HJManagedImageV 不适用于 iOS

Posted

技术标签:

【中文标题】setContentMode:对于 HJManagedImageV 不适用于 iOS【英文标题】:setContentMode: for HJManagedImageV is not working for iOS 【发布时间】:2012-04-25 13:53:35 【问题描述】:

我正在使用第三方库 HJCacheClasses 来异步加载图像。这是相同的代码。这非常简单:

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 都不起作用。

【问题讨论】:

【参考方案1】:

如果您查看 HJManagedImageV 类的源代码,您会注意到作者将 HJManagedImageV 实例的 imageView 硬编码为始终适合宽高比。因此,默认情况下,您将永远无法使用方面填充内容模式。

不过有一种简单的方法可以实现这一点,在您设置托管图像视图的 url 属性之后,还可以向您自己的类添加一个回调,如下所示:

myImageView.callbackOnSetImage = (id)self;

并在回调函数中为imageView设置所需的contentMode,就像这样。这是经过测试的,对我有用。祝你好运

-(void) managedImageSet:(HJManagedImageV*)mi

    mi.imageView.contentMode = UIViewContentModeScaleAspectFill;

【讨论】:

感谢您的反馈...我尝试了您的解决方案并且它有效...但以下是我认为更简单的...【参考方案2】:

我自己找到了我觉得更简单明了的答案。正如 Ican 所提到的,在 HJManagedImageV 类的源代码中,作者将 HJManagedImageV 实例的 imageView 硬编码为始终适合宽高比。所以我只是评论了该代码......对于喜欢这样做的人,请按照以下步骤操作

    转到 HJManagedImageV.m 文件

    搜索一个名为

    的方法
    -(void) setImage:(UIImage*)theImage
    

    评论该行

    imageView.contentMode = ...
    

    或为 imageView 设置您想要的内容模式。注意:这将为使用此类的所有图像视图设置内容模式。所以我更喜欢第一个选项。

    在使用此类的代码中,设置 HJManagedImageV 的内容模式。

【讨论】:

Raj,每次您使用较新版本更新库时,您都必须查看源代码并以指定的方式对其进行调整。考虑一下

以上是关于setContentMode:对于 HJManagedImageV 不适用于 iOS的主要内容,如果未能解决你的问题,请参考以下文章

对于独立应用程序(对于 Spring JMS),Java main 方法应该是啥?

对于软件工程的期望

为啥会提示“我们计算的请求签名与您提供的签名不匹配”。对于 GET 但不是 PUT 对于 OpenSearch?

对于Passenger,控制台日志(从puts的输出)去哪里......对于Nodejs

对于Oracle analyze table的使用总结 . 对于Oracle analyze table的使用总结 .

对于基于基本数据类型的变量创建的数组