显示和滚动比屏幕长的 UIImageView(图像)

Displaying and scrolling a UIImageView (image) that is longer than screen

我有一张图片要显示,但它比屏幕尺寸还长。这个想法是我希望它滚动以显示整个图像。我在 UIScrollView 中创建了一个 UIImageView,我可以在 XCode 中看到图像,但在我 运行 应用程序时看不到。即使在 XCode 中,我也遇到了比例问题 - 这是自动布局引起的问题吗,也许这就是为什么当 运行 在模拟器中使用应用程序时我看不到图像?

编辑 图像的 16:9 纵向纵横比为 iPhone 5+...我不希望它填满整个屏幕正在显示的部分的条款。即宽度等于屏幕尺寸,但高度要长得多,这就是我想要滚动的...

是因为你的约束条件不对。 UIScrollView 上有两个不同的 "sizes"。框架和内容视图。您的约束正在做的是将图像设置为适合视图的框架。您需要为 UIImage 约束执行以下操作:

  • 滚动视图的前导、顶部、尾随 space 应为 0 => 设置:x、y 和宽度
  • 纵横比应等于图片的比例 => 这会设置高度

这将使您的图像具有 "correct hight" 并且 contentView 应相应调整。