【发布时间】:2016-10-19 22:29:26
【问题描述】:
我试图在父视图的中心放置一个UIImageView。图像必须保持其原始纵横比,并且不应超过父级的界限。因此,横向图像应受父级宽度的限制,纵向图像应根据需要占用尽可能多的垂直空间,保持原始比例。
对于 AutoLayout 来说,这听起来很简单,对吧?这是我对UIImageView 的设置:
- 在父级中垂直居中
- 在父级中水平居中
- imageView.width
- imageView.height
我还将contentMode 设置为Aspect Fit。对于比设备屏幕小的小图像,一切都非常有用,但出于某种原因,我的UIImageView 比其底层UIImage 占用更多空间(注意绿色背景-imageView.backgroundColor = [UIColor greenColor])。
为什么会这样?我不是 AutoLayout 专家,因为我的限制对我来说是合理的。如果我使用较小的图像,例如 200x400,那么 UIImageView 在屏幕上恰好占据 200x400 点,没有额外的绿色区域。
我想添加在这种情况下显然无法正常工作的边框和圆角。
【问题讨论】:
标签: ios uiimageview autolayout ios-autolayout