当制作照片查看器应用程序时,发现当内容模式不同时,我们的 UIImageView Controller 将其图像绘制在其框架之外,无论是 ScaleToFill 还是 Aspect Fit。
试图理解为什么;我隔离了制作一个新项目的问题,该项目只有一个带有以下框架的 UIImageView (50,50,100,100)。其中包含的图片大小为(4592,3056)。
运行应用程序后,将内容模式设置为 ScaleToFill 和 AspectFit,一切都按预期工作:
但是将UIImageView的contentMode设置为TopLeft后,图片绘制在了它的frame之外,奇怪的是frame绘制完成后的log还是原来的{50,50,100,100}。
我尝试通过移动 UIViewController 的自动调整大小、剪辑和内容模式来理解这个问题,但结果是一样的。
最佳答案
在 View 上设置 clipToBounds = YES。
默认情况下为否,因为这使得绘制方式更便宜
关于objective-c - UIView Image 可以在其框架外绘制图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13422036/