我正在做一个UITextField,基本上是要求输入一个新项目的名称......。我想设置(程序上而不是故事板风格)限制。我遇到了一些问题,因为事实上,一个UITextField在编程上必须有某种框架......。这就是为什么我想知道如何设置限制条件而不与我使用(frame.CGRect(x: float))设置的参数冲突。CGRect(x:floatValue , y:floatValue , width:floatvalue , height:floatValue , ))作为UITextField的参数......floatValues都是实际的float值,如10.0和100.0等,这就是为什么我有麻烦设置约束的东西,已经有一个固定的X和Y,并可以删除,而不会出错的CGRect......如果有人能告诉我在正确的方向,如使用约束作为一个参数,请让我知道!!!。
如果你正在使用约束条件,你不需要设置一个框架。考虑下面的例子。
class ViewController: UIViewController {
let textField = UITextField()
override func viewDidLoad() {
super.viewDidLoad()
configureTextField()
}
private func configureTextField() {
textField.layer.borderWidth = 1 // just to make it more visible on the screen
textField.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(textField)
NSLayoutConstraint.activate([
textField.centerXAnchor.constraint(equalTo: view.centerXAnchor),
textField.centerYAnchor.constraint(equalTo: view.centerYAnchor),
textField.widthAnchor.constraint(equalToConstant: 200)
])
}
}