我正在尝试将一个
我想添加边框和圆角,但显然在这种情况下无法正常工作。
UIImageView
放置在父视图的中心。图像必须保持其原始宽高比,同时不应超出父视图的边界。因此,横向图像应受父视图宽度的限制,纵向图像应占用所需的垂直空间,保持原始比例。听起来对于 AutoLayout 来说是非常简单的任务,对吧?以下是我为 UIImageView
设定的设置:
- 在父视图中垂直居中
- 在父视图中水平居中
- imageView.width <= superview.width
- imageView.height <= superview.height
contentMode
设置为Aspect Fit
。对于小于设备屏幕的小图像,一切都运行得非常好,但由于某种原因,对于大图像,我的 UIImageView
占用的空间比其底层的 UIImage
更多(注意绿色背景-imageView.backgroundColor = [UIColor greenColor]
)。
为什么会这样?虽然我不是AutoLayout专家,但我的约束条件看起来很合理。如果我使用像200x400这样的较小图像,则UIImageView
在屏幕上正好占用200x400个点,没有额外的绿色区域。我想添加边框和圆角,但显然在这种情况下无法正常工作。