我在我的 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)
最佳答案
您可以通过以下两种方式之一解决此问题:
- 将
constant
更改为-10
作为底部和尾部约束。
或
- 交换底部和尾随约束中
item:
和toItem:
值的顺序。也就是说,为底部和尾随约束制作item: self.view
和toItem: textView
。如果您在 StoryBoard 中设置约束,这就是完成的方式。
关于swift - 使用 UITextView 在 UIView 中以编程方式添加约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072969/