【问题标题】: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;
      

      希望对你有帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-16
        • 1970-01-01
        • 1970-01-01
        • 2012-02-12
        • 1970-01-01
        • 2017-09-23
        • 1970-01-01
        相关资源
        最近更新 更多