根据我的理解,如果图像和imageView的大小不一样,它将被标记为洋红色。在我的应用程序中,我有一个名为myImage的图像,其中myImage.imageView = {50,50},myImage.image = {63,63},其中scale = 2,但是,它标记为黄色,而不是洋红色。我的问题是:
[UIImage imageNamed:@"Rainbow_Circle.png"]
。
myImage.frame = {0,0,50, 50},
为什么会出现这种情况?我怎么能检查拉伸?
谢谢!
答案 0 :(得分:1)
通常我们为imageView设置框架。如果图像的大小与imageView的大小不兼容,它将根据您为imageView设置的内容模式显示。
例如 UIViewContentModeScaleToFill 通过在必要时更改内容的宽高比来缩放内容以适合自身的大小。
UIViewContentModeScaleAspectFit 通过保持宽高比来缩放内容以适合视图的大小。视图边界的任何剩余区域都是透明的。
在你的情况下,因为图像尺寸小于imageView,如果你使用了说 UIViewContentModeScaleToFill ,那么图像可能会显得拉伸。
在您的情况下,您应该为imageView提供背景颜色作为品红色。洋红色和黄色的逻辑尚不清楚。
如果您在绘制图像之前尝试设置框架,也请确保使用layoutIfNeeded方法,即,如果在 viewDidLoad 中使用。
答案 1 :(得分:1)
我明白了!它是品红色的,因为图像的单元格框架不是整数。一旦得到修复,它的所有子视图都能正常运行。