我使用的是 XCode 6.1,我正在尝试向 TextView 添加约束。我已经通过将这些代码行添加到我的 ViewController 的 viewDidLoad() 函数中成功地完成了它:
myButton.backgroundColor = UIColor.orangeColor()
myButton.setTitle("New test old button", forState: .Normal)
self.view.addSubview(myButton)
myButton.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addConstraint(NSLayoutConstraint(item: myButton, attribute: .Leading, relatedBy: .Equal, toItem: self.view, attribute: .Leading, multiplier: 1.0, constant: 20.0))
self.view.addConstraint(NSLayoutConstraint(item: myButton, attribute: .Top, relatedBy: .Equal, toItem: self.view, attribute: .Top, multiplier: 1.0, constant: 200.0))
但是当我尝试对 TextView 执行相同操作时,我无法在 iOS 模拟器的屏幕上看到它:
var textView = UITextView(frame: CGRect(x: 100, y: 100, width: 300, height: 300))
textView.text = "My test text!"
textView.sizeToFit()
textView.backgroundColor = UIColor.purpleColor()
self.view.addSubview(textView)
textView.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addConstraint(NSLayoutConstraint(item: textView, attribute: .Leading, relatedBy: .Equal, toItem: self.view, attribute: .Leading, multiplier: 1.0, constant: 10.0))
self.view.addConstraint(NSLayoutConstraint(item: textView, attribute: .Top, relatedBy: .Equal, toItem: self.view, attribute: .Top, multiplier: 1.0, constant: 400.0))
如果我要删除三个约束特定行,则会创建 TextView,但我需要这些约束才能正确格式化所有内容。
有人知道我做错了什么吗?
最佳答案
您需要为 TextView 的宽度和高度添加约束:
self.view.addConstraint(NSLayoutConstraint(item: textView, attribute: .Width, relatedBy: .Equal,
toItem: nil, attribute: .NotAnAttribute, multiplier: 1.0, constant: 300.0))
self.view.addConstraint(NSLayoutConstraint(item: textView, attribute: .Height, relatedBy: .Equal,
toItem: nil, attribute: .NotAnAttribute, multiplier: 1.0, constant: 300.0))
关于ios - 向 TextView 添加约束在 Swift 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27155917/