【问题标题】:UIImageView in UIScrolView. How to scale UIImageView proportionally in iphone 6 and 6 plusUIScrollView 中的 UIImageView。如何在 iphone 6 和 6 plus 中按比例缩放 UIImageView
【发布时间】:2015-10-08 04:45:39
【问题描述】:
我是目标 C 的新手。
我在主情节提要中使用自动布局。
http://i61.tinypic.com/kd25gx.jpg
http://i59.tinypic.com/2guw38k.jpg
iphone 5、iphone 6 和 iphone 6 plus 的 xcode Simulator 有打印屏幕的上部(我剪掉了部分)
您在 iphone 5 中看到图像的方式是从一侧到另一侧。与主故事板中的方式相同
在 iphone 6 和 iphone 6 plus 的两边都有空白区域。我为 ihone 5 使用 640x600 图像,为 iphone 6 和 6 plus 使用 960x900 图像
我认为代码需要为 iphone 6 和 iphone 6 plus 左右按比例缩放 UIImageView。
我怎样才能做到这一点?
【问题讨论】:
标签:
ios
objective-c
iphone
uiscrollview
uiimageview
【解决方案1】:
问题在于您的约束,您添加了错误的约束。首先将所有约束添加到图像视图,然后将约束添加到图像作为您想要的前导、尾随顶部和高度。它将解决您的问题或者如果需要将图像视图的模式设置为 scaleToFill。
【解决方案2】:
我不确定我是否理解您的问题。但听起来你想从图像的两侧删除空格,对吧?
如果您不确定UIImageView 的比例,那么给它一个背景颜色来为您指明这一点 - 只是一个提示。
如果您的UIImageView 的约束正确地放置了UIImageView 并具有左右全宽,那么请查看UIImageView 上的contentMode。
这是contentModes 的概述。
现在,您的UIImageView 中的图像似乎具有“Aspect Fit”contentMode。这会将您的图像设置为首先适合 UIImageView 的最大边(宽度/高度),并在最大边之后按比例缩放另一边。这意味着如果UIImageView 与图像的比例不完全相同,它将留下空白。
如果您不想要这些空间,您应该查看“缩放以适应”或“纵横比以适应”。
上图很好地描述了它们之间的区别。
您可以像这样为UIImageView 设置contentMode:
// Aspect to fill
yourImageView.contentMode = UIViewContentModeScaleAspectFill;
// Scale to fill
yourImageView.contentMode = UIViewContentModeScaleToFill;
希望对你有帮助:)