如何将 NSLayoutConstraints 与 CGrect 框架结合起来(Swift 4)
how to combine NSLayout Constraints with CGrect frame (Swift4)
我正在尝试实用地创建一个文本字段,不使用情节提要。我当前的代码有编译错误。我需要使用 NSLayout 约束来确保我的代码可以在 ipad 和 iphone 上工作。
import UIKit
var aa:[NSLayoutConstraint] = []
class ViewController: UIViewController {
var btn : UITextField!
override func viewDidLoad() {
super.viewDidLoad()
btn = UITextField(frame: CGRect(x: 50, y: 100, width: 200, height: 50))
let leadingc2 = btn.widthAnchor.constraint(equalToConstant: 80)
let trailingC2 = btn.heightAnchor.constraint(equalToConstant: 50)
let topc2 = btn.centerXAnchor.constraint(equalTo: self.view.centerXAnchor, constant: -50)
let bottomc2 = btn.centerYAnchor.constraint(equalTo: self.view.centerYAnchor, constant: -250)
aa = [leadingc2,trailingC2,topc2,bottomc2]
NSLayoutConstraint.activate(aa)
self.view.addSubview(btn)
}
}
你能试着按顺序重写这两行吗:
view.addSubview(btn)
NSLayoutConstraint.activate(aa)
约束可能不适用于不共享层次结构的视图,这意味着在将按钮添加到该超视图之前,您无法激活按钮与其超视图之间的约束。
我正在尝试实用地创建一个文本字段,不使用情节提要。我当前的代码有编译错误。我需要使用 NSLayout 约束来确保我的代码可以在 ipad 和 iphone 上工作。
import UIKit
var aa:[NSLayoutConstraint] = []
class ViewController: UIViewController {
var btn : UITextField!
override func viewDidLoad() {
super.viewDidLoad()
btn = UITextField(frame: CGRect(x: 50, y: 100, width: 200, height: 50))
let leadingc2 = btn.widthAnchor.constraint(equalToConstant: 80)
let trailingC2 = btn.heightAnchor.constraint(equalToConstant: 50)
let topc2 = btn.centerXAnchor.constraint(equalTo: self.view.centerXAnchor, constant: -50)
let bottomc2 = btn.centerYAnchor.constraint(equalTo: self.view.centerYAnchor, constant: -250)
aa = [leadingc2,trailingC2,topc2,bottomc2]
NSLayoutConstraint.activate(aa)
self.view.addSubview(btn)
}
}
你能试着按顺序重写这两行吗:
view.addSubview(btn)
NSLayoutConstraint.activate(aa)
约束可能不适用于不共享层次结构的视图,这意味着在将按钮添加到该超视图之前,您无法激活按钮与其超视图之间的约束。