此时此设置(例如在UIImageView上)会将UIImage
的中心保持在UIImageView
和"裁剪"的中心。两边均匀超出边界的边缘。
有没有办法改变这一点?
例如,如果我希望它保持UIImage
的上边缘与UIImageView
的上边缘对齐,并在缩放等时从底部裁剪掉......
答案 0 :(得分:1)
一种方法是继续使用UIImageView的自动缩放(UIViewContentModeScaleAspectFit或UIViewContentModeScaleAspectFill,以便方面保持正确), 然后通过应用图层蒙版来删除你不想要的部分。
或者(这就是我要做的),只需用自己想要的裁剪画出图像。
例如,将图片设置为图层的contents
,然后设置图层contentsRect
(这决定了图片的哪个区域显示为图层' s内容)和contentsGravity
(这决定了图像如何固定/缩放到图层的边界)。您可以实时更改这些值(甚至可以设置动画)。
或者,当你想要一个裁剪版本时,只需要输出一个新的图像图形上下文,将图像重新定位到它中,使右边区域以正确的方式重叠上下文,拉出结果图像并显示它。