我有一个配置了自动布局的UIImageView
对象。我已经创建了约束,以便视图与其超视图保持恒定的距离。在视觉格式将是这样的:如何将自动布局约束与UIView的contentMode属性结合起来
@"V:|-[imageView]-|"
@"H:|-[imageView]-|"
但我也想保持底层图像的纵横比,所以我分配给UIViewContentModeScaleAspectFit
contentMode
。
我想一切工作良好,直到我设置cornerRadius
值相关联的CALayer
:
self.imageView.layer.cornerRadius = 7;
self.imageView.layer.maskToBounds = YES;
现在,当图像视图的大小时,例如由于方向的改变,取决于视图所获得的新尺寸,圆角会丢失。其原因是,cornerRadius
适用于UIImageView
(框架下面划线),但由于底层图像也被调整为尊重contentMode
(以下星号帧),圆润的边角都不再可见:
--------------------------
| ********** |
| * * |
| * * |
| * * |
| ********** |
--------------------------
有一种防止这种行为的方法?
谢谢..工作像一个魅力。挣扎了这么久。 –
只有当您将约束附加到tableview单元格而不是contentView时,才能为UITableViewCell工作。 (仍然可以将视图添加到contentView –
如果您对uitableviewcell中的所有大小类都有复杂约束,则这是解决方案 – khunshan