1

我在维护 UIImageView 的 contentMode 时应用多个转换时遇到问题。

我已经定义了一个 UIImageView contentMode = UIViewContentModeTop。我的意图是应用比例变换不应该扭曲图像,而是保持图像的顶部可见。

不幸的是,设置变换,仍然会扭曲图像:

_imageView.transform = CGAffineTransformMakeScale(1.0, 0.5);

据我了解,这应该将图像缩放到一半的高度,有效地裁剪图像的底部,但是如前所述,UIImageView 似乎使用 UIViewContentModeScaleToFill并因此倾斜了图像。

我使用变换而不仅仅是帧操作的原因是我还想对视图应用旋转。

我还在图层上设置了一个自定义锚点可能是相关的:

_imageView.layer.anchorPoint = (CGPoint){0.2, 0.06};
4

1 回答 1

0

我通过不使用变换进行缩放来解决此问题,而是修改边界矩形,这在进行变换时是允许的。使用边界矩形修改大小,正确使用我在视图上设置的内容模式。

于 2013-08-29T06:38:59.230 回答