UIScrollView使用Autolayout进行缩放

Mih*_*atu 11 zoom uiscrollview ios autolayout swift

我知道有几个问题,但我无法弄清楚如何做到这一点(没有帮助我的答案),所以这是我的问题版本.

我有一个UICollectionView设置为水平滚动.每个细胞都有一个UIScrollView内部和内部UIScrollView我有一个UIImageView.

现在,显示的图像UIImageView是从互联网上加载的,我无法找到一种方法来使用故事板和自动布局正确地进行缩放工作.

如果我设置将我UIScrollView的容器绑定到容器的约束,一切都可以.我UIImageView 与UIScrollViewXCode 绑定的那一刻开始抱怨它UIScrollView的大小是模棱两可的.

如果我在InterfaceBuilder中没有做任何约束,那么图像不会以正确的大小显示(doh!).

所以,我被困住了.我不知道要制定什么样的约束以及哪种观点需要与什么相关联.我知道我的完美世界结果是一个视图控制器,其行为类似于原生iOS照片应用程序.也就是说,图像显示为与屏幕一样大(根据图像的方向在顶部和底部或左右两侧带有黑色条带),您可以将其放大并平移.

请帮忙!

注意

在发布我自己的问题之前,我确实阅读了这些帖子

use*_*173 0

有用

你可以轻松做到。嗯,不容易,我已经奋斗了很长一段时间了!我设法在可滚动区域内实现自动布局。只是它只是垂直的

  • 将内部大小设置为“占位符”(可滚动视图)
  • 根本不设置 contentSize
  • 将正确的约束附加到包装器(因此它将相对于父视图)

    self.view.addConstraint(NSLayoutConstraint(
        item:self.view, attribute:.Trailing,
        relatedBy:.Equal, toItem:contentView,
        attribute:.Trailing, multiplier:1, constant:0))
    scrollView.setTranslatesAutoresizingMaskIntoConstraints(false)
    
    Run Code Online (Sandbox Code Playgroud)

因此,在您的情况下,您的 contentView 右侧应附加在图像的右侧

尝试一下,你肯定可以使用缩放功能

这是一个例子,它可能会帮助你 https://github.com/nchanged/swift-content-manager/tree/master