【发布时间】:2014-08-28 16:49:09
【问题描述】:
如何在滚动视图中垂直居中图像?
我在 Xcode 5 中使用情节提要。主视图嵌入在导航控制器中,并且在主情节提要中启用了“调整滚动视图插图”选项。这个主视图有一个滚动视图,它的大小等于主视图的大小。
imageView 位于 scrollView 内部,与 scrollView 大小相同。内容模式设置为 AspectFit。
所以,层次结构如下:
- UINavigationController
- UIView
- UIScrollView
- UIImageView
图像可以是横向或纵向的,并且可以是任意大小(在运行时加载)。这就是为什么 imageView 和 scrollView 大小一样的原因。
如何在 scrollView 内垂直居中图像?
编辑: 如前所述,我已将 imageView 的 contentMode 设置为 AspectFit,因为图像可能太大,所以我需要调整它的大小。我遇到的问题是图像不是滚动视图的中心。
【问题讨论】:
-
如果你选择了 uiimageview,你可以设置它的约束,如果你使用的是自动布局。设置宽度和高度,因为您似乎想要那个常数。然后在容器中设置水平和垂直。
-
我无法对 imageView 设置约束,因为直到运行时我才知道图像大小(图像将被下载……可能是横向或纵向……也许它会大于屏幕尺寸或可能更小)。还有什么想法吗?我已经上传了代码。链接可以在原帖中找到。谢谢!
-
但是您通过设置内容模式将图片设置为尽可能多地填充。您是否需要始终查看整个画面?试试我的方法,图片保持居中,你可以看到整个东西。就算换图。我喜欢你评论的方式,这样你就可以来回切换,我一直这样做!
-
我已经对我的答案进行了编辑以处理捏缩放。
标签: ios uiscrollview uinavigationcontroller uiimageview uistoryboard