【问题标题】:How we set constraint for adding subview我们如何设置添加子视图的约束
【发布时间】:2016-12-28 06:52:04
【问题描述】:

我想在我的View 上添加视图,但它们没有很好地设置这个宽度拉伸。我是 iOS 新手。任何帮助,将不胜感激。这是我尝试做我想做的事时得到的,有人可以帮忙解决这个问题吗:

   openView.translatesAutoresizingMaskIntoConstraints = false
        let topConstraint = NSLayoutConstraint(item: openView, attribute: .top, relatedBy: .equal, toItem: self, attribute: .top, multiplier: 1, constant: 0)
        let bottomConstraint = NSLayoutConstraint(item: openView, attribute: .bottom, relatedBy: .equal, toItem: self, attribute: .bottom, multiplier: 1, constant: 0)
        let leadingConstraint = NSLayoutConstraint(item: openView, attribute: .leading, relatedBy: .equal, toItem: self, attribute: .leading, multiplier: 1, constant: 0)
        let trailingConstraint = NSLayoutConstraint(item: openView, attribute: .trailing, relatedBy: .equal, toItem: self, attribute: .trailing, multiplier: 1, constant: 0)

        self.view.addSubview(openView)
       openView.addConstraints([topConstraint, bottomConstraint, leadingConstraint, trailingConstraint])
        openView.layoutIfNeeded()

【问题讨论】:

    标签: swift autolayout swift3


    【解决方案1】:

    在你的 xcode 中打开 main.Storyboard --> 打开你的 viewController --> 添加 UIView --> 使你的视图框架像你想要的那样 --> 并添加约束

    例如:如果您想要 width=600 & height=600,请根据需要设置框架,然后分配约束。

    .参考链接图片参考

    【讨论】:

    • 嘿,我刚刚编辑了我的答案,请参考它。它将解决您的问题。
    【解决方案2】:

    在这里,您将子视图的框架设置为控制器视图的初始框架。即控制器的视图将被子视图完全覆盖。

    如果要添加约束,

    1)拿故事板或xib。

    2) 点击 UI 元素。

    3) 如图所示点击约束按钮。

    4) 设置每个边框的值。

    还可以设置高度、宽度等参数。整个需求是系统应该能够从约束中解释准确的位置。

    【讨论】:

    • 我要设置全视图。
    • 然后将每边的约束设置为 0。
    • 这不是我的 xib 它单独的视图。没有设置约束的选项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 2018-04-09
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多