当制作一个照片浏览器应用程序时,当内容模式不同时,无论是ScaleToFill还是Aspect都不适合,我们发现我们的UIImageView控制器在它的框架之外绘制图像。
我试图理解为什么;我隔离了一个新项目的问题,这个项目只有一个具有以下框架(50,50,100,100)的UIImageView。其中包含的图像大小为(4592,3056)。
运行应用程序后,在内容模式设置为ScaleToFill和AspectFit的情况下,一切都按预期运行:
但是在将UIImageView的contentMode设置为TopLeft之后,图像被绘制在它的框架之外,奇怪的是,在所有绘制完成之后,框架中的日志仍然是原始的{50,50,100,100}。
我试着通过移动UIViewController的自动调整大小、剪辑和内容模式来理解这个问题,但结果是一样的。
发布于 2012-11-17 02:25:03
在视图上设置clipToBounds = YES。
默认情况下不是,因为这会使绘图更便宜
https://stackoverflow.com/questions/13422036
复制相似问题