swift - 使用 UITextView 在 UIView 中以编程方式添加约束

标签 swift autolayout uitextview

我在我的 UITextView 中以编程方式添加了约束,但尾随约束和底部约束无法正常工作。其他人工作正常。 我认为 UITextView 框架大小不正确。

我只想以编程方式在我的 UITextView 中添加边距。

我的代码是

    let textView = UITextView()
    self.view.addSubview(textView)

    var constraints = [NSLayoutConstraint]()

    constraintTop = NSLayoutConstraint(item: textView,
        attribute: NSLayoutAttribute.Top,
        relatedBy: NSLayoutRelation.Equal,
        toItem: self.view,
        attribute: NSLayoutAttribute.Top,
        multiplier: 1.0,
        constant: 10)
    constraints.append(constraintTop)

    constraintBottom = NSLayoutConstraint(item: textView,
        attribute: NSLayoutAttribute.Bottom,
        relatedBy: NSLayoutRelation.Equal,
        toItem: self.view,
        attribute: NSLayoutAttribute.Bottom,
        multiplier: 1.0,
        constant: 10)
    constraints.append(constraintBottom)

    constraintLeft = NSLayoutConstraint(item: textView,
        attribute: NSLayoutAttribute.Leading,
        relatedBy: NSLayoutRelation.Equal,
        toItem: self.view,
        attribute: NSLayoutAttribute.Leading,
        multiplier: 1.0,
        constant: 10)
    constraints.append(constraintLeft)

    constraintRight = NSLayoutConstraint(item: textView,
        attribute: NSLayoutAttribute.Trailing,
        relatedBy: NSLayoutRelation.Equal,
        toItem: self.view,
        attribute: NSLayoutAttribute.Trailing,
        multiplier: 1.0,
        constant: 10)
    constraints.append(constraintRight)

    self.view.addConstraints(constraints)

最佳答案

您可以通过以下两种方式之一解决此问题:

  1. constant 更改为 -10 作为底部和尾部约束。

  1. 交换底部和尾随约束中 item:toItem: 值的顺序。也就是说,为底部和尾随约束制作 item: self.viewtoItem: textView。如果您在 StoryBoard 中设置约束,这就是完成的方式。

关于swift - 使用 UITextView 在 UIView 中以编程方式添加约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072969/

相关文章:

MacOS 上的 Swift - 如何将 NSImage 保存到磁盘

ios - 使用 Swift 设置自定义表格 View 页脚

ios - 从 cloudkit swift 获取不同的值

ios - 将 ARFrame 的抓图转为 UIImage 方向问题

ios - UICollectionview 自调整单元格自动布局,间距恒定

ios - 如何将uitextview的内容保存到tableview

ios - 如何在 CAAnimationGroup 中为 NSLayoutConstraint 设置动画

ios - 自动布局约束更改不动画

ios - UITextView selectionRange具有加号“+”的奇怪行为

ios - 如何将数据从两个 UITextView 保存到 UserDefaults