我有一个UIImageView
配置了自动布局的对象。我创建了约束,以便视图与其父视图保持恒定距离。在视觉格式中,它会像:
@"V:|-[imageView]-|"
@"H:|-[imageView]-|"
但我也想保持底层图像的纵横比,所以我分配UIViewContentModeScaleAspectFit
了contentMode
.
cornerRadius
在我设置关联的值之前,我认为一切正常CALayer
:
self.imageView.layer.cornerRadius = 7;
self.imageView.layer.maskToBounds = YES;
现在,当调整图像视图的大小时,例如由于方向的变化,圆角会丢失,具体取决于视图获得的新大小。原因是这cornerRadius
适用于UIImageView
(下面的虚线框),但由于基础图像也被调整大小以尊重contentMode
(下面的星号框),圆角不再可见:
--------------------------
| ********** |
| * * |
| * * |
| * * |
| ********** |
--------------------------
有没有办法防止这种行为?