簡體   English   中英

以編程方式為以編程方式制作的 UITextField 創建約束

[英]Programmatically Creating Constraints for a Programmatically made UITextField

我正在研究一個 UITextField,它基本上要求一個新項目的名稱......我想設置(以編程方式不是 storyboard 樣式)約束。 我遇到了問題,因為以編程方式制作的 UITextField 必須有某種框架......這就是為什么我想知道如何設置約束而不與我設置的參數沖突(框架:CGRect(x: floatValue, y: floatValue, width: floatvalue, height: floatValue,)) 作為 UITextField 的參數 ... floatValues 都是實際的浮點值,如 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)
    ])
}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM