美文网首页界面
Autolayout下UIImageView设置Aspect F

Autolayout下UIImageView设置Aspect F

作者: Brant白叔 | 来源:发表于2014-10-17 15:35 被阅读1431次

Autolayout下UIImageView设置Aspect Fit会在图像的上下留白,如下图1

图1

去除上下留白,子类化UIImageView或者添加一个category,修改intrinsicContentSize方法如下:

#import "AspectFitImageView.h"

@implementation AspectFitImageView

- (CGSize)intrinsicContentSize {

    CGSize s =[super intrinsicContentSize];

    s.height = self.frame.size.width / self.image.size.width  * self.image.size.height;

    return s;

}

@end

修改后的效果如下图2:

图2

相关文章

网友评论

  • bonoCat:不成功~ :relieved:
  • 沉默学飞翔:你这个方法我试了下,怎么都不成功,直接崩溃 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Constant is not finite! That's illegal. constant:nan'
    Brant白叔:@沉默学飞翔 你哪里写得不对。。
  • 千若逸:用Aspect Fill不就没有这个问题了?
    Brant白叔:@千飞若逸Fee 那样图片会变形

本文标题:Autolayout下UIImageView设置Aspect F

本文链接:https://www.haomeiwen.com/subject/oisetttx.html