swift - 在 UIScrollView 中使用 snapkit/autolayout

标签 swift autolayout swift4 ios-autolayout snapkit

我有一个应用程序

  • ScrollView
  • 内容 View
  • 图表
  • 按钮
  • 其他东西

  • 我尝试如下所示对其进行约束,但我缺少一个约束,而且我找不到我需要的东西。
        self.view.addSubview(self.scrollView)
        self.scrollView.snp.makeConstraints { (make) in
            make.edges.equalTo(self.view)
        }
        let contentView = UIView()
    
        self.scrollView.addSubview(contentView)
        contentView.snp.makeConstraints { (make) in
            make.top.bottom.equalTo(self.scrollView)
            make.left.right.equalTo(self.view)
        }
        contentView.addSubview(self.chart)
        self.chart.snp.makeConstraints { (make) in
            // http://snapkit.io/docs/
            make.edges.equalTo(contentView).inset(UIEdgeInsets(top: 30, left: 0, bottom: 50, right: 0))
        }
    

    哪里scrollView = UIScrollView()

    最佳答案

    您需要为 contentView 添加宽度/高度或对齐约束。尝试这个:

    contentView.snp.makeConstraints { (make) in
        make.top.bottom.equalTo(self.scrollView)
        make.left.right.equalTo(self.view)
        make.width.equalTo(self.scrollView)
        make.height.equalTo(self.scrollView)
        // or:
        // make.centerX.equalTo(self.scrollView)
        // make.centerY.equalTo(self.scrollView)
    }
    

    关于swift - 在 UIScrollView 中使用 snapkit/autolayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52855503/

    相关文章:

    iOS - 取消约束动画

    ios - 如何使用 swift-4 Promises then, done, catch 等 block

    ios - Swift 2.2 中 init 的使用不明确

    ios - 符合 Codable 协议(protocol)的类因 encodeWithCoder : unrecognized selector sent to instance 而失败

    ios - 为什么我的编译器指令定义无法识别? ( swift )

    ios - 当用户滑动并点击手指(使用触摸手势)时,如何隐藏所有 CollectionViewCell?

    xcode - 使用 Segue 自动加载 SecondViewController

    ios - Swift 3.0 允许权限警报不间断

    ios - 打字时缩小 BackSpace 上的 UITextField 范围

    ios - 无法更改为 IB 中的不同尺寸类别定义的 Constraint IBOutlet