我有以下 UIView 的实现。
struct LoginView {
let loginView: UIView = UIView()
func layoutLoginView() -> UIView {
loginView.translatesAutoresizingMaskIntoConstraints = false
loginView.backgroundColor = UIColor.purple
return loginView
}
}
然后,我在视图控制器中对上述内容进行细分,如下所示..
class LoginVC: UIViewController {
private let instanceOfLoginView = LoginView()
override func loadView() {
super.loadView()
view.addSubview(instanceOfLoginView.layoutLoginView())
NSLayoutConstraint.activate(NSLayoutConstraint.constraints(withVisualFormat: "H:|-[loginView]-|", options: [], metrics: [:], views: ["loginView":instanceOfLoginView.layoutLoginView()]))
NSLayoutConstraint.activate(NSLayoutConstraint.constraints(withVisualFormat: "V:|-[loginView]-|", options: [], metrics: [:], views: ["loginView":instanceOfLoginView.layoutLoginView()]))
}
问题是只有'H'
NSLayout 的一侧在工作-检查下面的屏幕截图-。'V'
不工作。
但是,当我应用以下内容时"V:|-8-[loginView]-8-|"
,它可以工作!!!
你能告诉我为什么"V:|-[loginView]-|"
不简单的工作,拜托..?
感谢你的帮助!