代码之家  ›  专栏  ›  技术社区  ›  Clifton Labrum

Superview边的编程自动布局约束

  •  0
  • Clifton Labrum  · 技术社区  · 7 年前

    我在Xcode的故事板编辑器中做了很多自动布局,但我很少在代码中做任何事情。在一个特定实例中,我需要创建与这些约束等价的编程:

    enter image description here

    这些约束将添加到 textView 超级视图是另一个叫做 commentBox

    //Trailing
    textView.addConstraint(NSLayoutConstraint(item: textView, attribute: .trailing, relatedBy: .equal, toItem: cell.commentBox, attribute: .trailing, multiplier: 1, constant: 15))
    //Leading
    textView.addConstraint(NSLayoutConstraint(item: textView, attribute: .leading, relatedBy: .equal, toItem: cell.commentBox, attribute: .leading, multiplier: 1, constant: 15))
    //Bottom
    textView.addConstraint(NSLayoutConstraint(item: textView, attribute: .bottom, relatedBy: .equal, toItem: cell.commentBox, attribute: .bottom, multiplier: 1, constant: 10))
    //Top
    textView.addConstraint(NSLayoutConstraint(item: textView, attribute: .top, relatedBy: .equal, toItem: cell.commentBox, attribute: .top, multiplier: 1, constant: 10))
    

    知道我做错了什么吗?谢谢

    1 回复  |  直到 7 年前
        1
  •  10
  •   Tieda Wei    7 年前

    试试这个:

    commentBox.addSubview(textView)
    
    textView.translatesAutoresizingMaskIntoConstraints = false
    
    textView.topAnchor.constraint(equalTo: commentBox.topAnchor, constant: 10).isActive = true
    textView.bottomAnchor.constraint(equalTo: commentBox.bottomAnchor, constant: -10).isActive = true
    textView.leadingAnchor.constraint(equalTo: commentBox.leadingAnchor, constant: 15).isActive = true
    textView.trailingAnchor.constraint(equalTo: commentBox.trailingAnchor, constant: -15).isActive = true