我知道有几个问题,但我无法弄清楚如何做到这一点(没有帮助我的答案),所以这是我的问题版本。
我有UICollectionView
设置为水平滚动。每个单元格在UIScrollView
内部和内部都有UIScrollView
我有一个UIImageView
。
现在,UIImageView
显示的图像是从互联网上加载的,我无法找到一种方法,可以使用故事板和自动布局来正确地进行缩放。
如果我设置将UIScrollView
绑定到容器的约束,一切正常。我将UIImageView
绑定到UIScrollView
XCode的那一刻开始抱怨UIScrollView
的大小不明确。
如果我在InterfaceBuilder中没有任何约束,则图像不会以正确的大小显示(doh!)。
所以,我被困住了。我不知道要制定什么样的约束以及哪种观点需要与什么相关联。我知道我的完美世界结果是一个视图控制器,其行为类似于原生iOS照片应用程序。也就是说,图像显示为与屏幕一样大(根据图像的方向在顶部和底部,左边和右边都有黑色条带),你可以放大它并平移它。
请帮忙!
注意
我在发布自己的问题之前已经阅读了这些帖子
答案 0 :(得分:2)
我不知道它是否会帮助您解决缩放问题,但Apple提供了有关使用自动布局滚动视图的技术说明:Technical Note TN2154, UIScrollView And Autolayout
滚动视图的重要部分是,滚动视图内的子视图的约束不是绑定到滚动视图本身,而是绑定到滚动视图的父视图(在您的情况下是集合视图单元格)< / p>
答案 1 :(得分:0)
它有效
你可以轻松地做到这一点。好吧不是很容易,我已经挣扎了很长一段时间! 我设法在可滚动区域内实现自动布局。只是它是垂直的
将正确的约束附加到包装器(因此它将相对于父视图)
self.view.addConstraint(NSLayoutConstraint(
item:self.view, attribute:.Trailing,
relatedBy:.Equal, toItem:contentView,
attribute:.Trailing, multiplier:1, constant:0))
scrollView.setTranslatesAutoresizingMaskIntoConstraints(false)
因此,在您的情况下,您的contentView右侧应该附加在图像的右侧
尝试一下,当然你会让你的缩放工作
这是一个例子,它可能会对你有所帮助 https://github.com/nchanged/swift-content-manager/tree/master