Ios UI按钮上的约束问题
在使用锚实践编程约束时,我遇到了一个问题,即在使用iPhone8或8Plus模拟器时隐藏了按钮的可见性,如下图所示。这是由于我为按钮设置的当前坐标值。然而,当我切换到iPhone12时,这个按钮就会显示出来。如何设置坐标值,使按钮在iPhone 8或8 plus上的相同位置可见?Ios UI按钮上的约束问题,ios,autolayout,Ios,Autolayout,在使用锚实践编程约束时,我遇到了一个问题,即在使用iPhone8或8Plus模拟器时隐藏了按钮的可见性,如下图所示。这是由于我为按钮设置的当前坐标值。然而,当我切换到iPhone12时,这个按钮就会显示出来。如何设置坐标值,使按钮在iPhone 8或8 plus上的相同位置可见? 您对按键的约束无效。您未能指定垂直位置。您忘了将translatesAutoResizengMaskintoConstraints设置为false。我很惊讶这个按钮竟然出现了 (也可以删去关于按钮press.fram
您对
按键的约束无效。您未能指定垂直位置。您忘了将translatesAutoResizengMaskintoConstraints
设置为false。我很惊讶这个按钮竟然出现了
(也可以删去关于按钮press.frame
。frame和约束是对立的;使用其中一个或另一个。)如何从程序上改进设置约束?我想我的答案已经回答了。我知道是你做的,我不是指它。我正在努力使用锚,这非常困难。如何改进?这不是编程问题。有许多自动布局教程和书籍,但这不是一个堆栈溢出主题。我相信我已经回答了这个问题。
let iosImageView: UIImageView = {
let imageview = UIImageView(image: #imageLiteral(resourceName: "icons8-ios-logo-128"))
imageview.translatesAutoresizingMaskIntoConstraints = false
return imageview
}()
let press: UIButton = {
let buttonPress = UIButton.init(type: .roundedRect)
buttonPress.setTitle("Tap Me", for: .normal)
buttonPress.backgroundColor = .black
buttonPress.frame = CGRect(x: 110, y: 700, width: 200, height: 50)
return buttonPress
}()
override func viewDidLoad() {
super.viewDidLoad()
addSubviews()
setConstraints()
// Do any additional setup after loading the view.
}
func addSubviews(){
view.addSubview(iosImageView)
view.addSubview(press)
}
func setConstraints(){
NSLayoutConstraint.activate([
iosImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
iosImageView.topAnchor.constraint(equalTo: view.topAnchor, constant: 200),
iosImageView.widthAnchor.constraint(equalToConstant: 200),
iosImageView.heightAnchor.constraint(equalToConstant: 200),
press.centerXAnchor.constraint(equalTo: view.centerXAnchor),
press.leadingAnchor.constraint(equalTo: view.leadingAnchor),
press.trailingAnchor.constraint(equalTo: view.trailingAnchor)
])
}