我在图像资源文件中有1x,2x和3x图像,如下图所示。
但是,它为所有设备放置了1x图像,如下面提到的图像。
使用的是Xcode 7.3和iOS 9.3。我使用自动布局创建了imageview。并设置Align centre x to superview
和Align centre Y to superview
。
任何建议/意见将不胜感激!感谢。
答案 0 :(得分:7)
这很好。 3x并不意味着您的imageview
会显示三次更大的时间。它使用三倍更大的分辨率。这意味着如果您的图片视图尺寸为50x50
,那么iphone 6 plus (5.5 inch)
需要图片的分辨率为150x150
。如果您将50x50
分辨率图像设置为此显示,则它不会显示完整性。而已。这并不意味着3x图像的显示时间比原始imageview
大3倍。
然后你还需要你的图像大小的图像视图,然后将UIViewContentModeScaleAspectFill
内容模式设置为你的imageview,并使用相同的约束条件!
答案 1 :(得分:2)
由于@Lion很好地回答了这个问题,使用3X并不意味着你的图像高度和宽度会增加3倍。
如果您想为更大的设备调整图片视图的大小,那么您只需要使用适当的自动布局约束。
如果要更改图像视图的原点和大小,请使用此设备尺寸(宽高比) 当您的imageview尺寸调整大小时,使用2/3倍大图像作为imageview以获得2X / 3X分辨率。
Autolayout: origin and size should change according to width and height factor
检查这些设备
iPhone 4和之前的@ 1X
iPhone 4S,5,5S,5C,6,6S,7,7S @ 2x
iPhone 6 +,6S +,7 +,7S + @ 3x
假设在对较大屏幕应用约束后,您的图像视图的大小为(50,50),则使用大小为150,150的图像进行3倍分辨率
答案 2 :(得分:1)
确保您的内容模式为UIViewContentModeScaleAspectFill
且UIImageView