我试图让我的Facebook登录按钮(屏幕截图的顶部中心)低于"注册或登录按钮"通过使用约束,但我不确定使用哪些约束以及如何使用它们。我对Swift 3很新,我还没有以编程方式完成约束,所以任何帮助都会受到欢迎!最初我只是使用CGRect中的x和y位置来放置按钮,但我注意到在不同的设备上,按钮不会在同一个地方,所以我现在尝试使用约束。
看起来像这样:
这是我的viewDidLoad中关于我的按钮的代码:
let fbLoginButton = FBSDKLoginButton()
view.addSubview(fbLoginButton)
fbLoginButton.frame = CGRect(x: 0, y: 0, width: view.frame.width -
100, height: 40)
self.view.addSubview(fbLoginButton)
fbLoginButton.center.x = view.frame.width/2
我尝试过:
let verticalSpace = NSLayoutConstraint(
item: self, attribute: .bottom, relatedBy: .equal, toItem: fbLoginButton,
attribute: .bottom, multiplier: 0.75, constant: 0)
但这导致我得到这个错误:
约束项必须是UIView或UILayoutGuide的实例。
答案 0 :(得分:1)
尝试代码我在程序中添加了一个“发送”按钮,只是在按钮“Show Alert”下方添加了使用storyboard
@IBOutlet weak var showAlertButton: UIButton!
func AddButton(){
let sendButton = UIButton(type: .system)
sendButton.setTitle("Send", for: UIControlState())
sendButton.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(sendButton)
sendButton.leftAnchor.constraint(equalTo: showAlertButton.leftAnchor, constant: 0).isActive = true
sendButton.rightAnchor.constraint(equalTo: showAlertButton.rightAnchor, constant: 0).isActive = true
sendButton.topAnchor.constraint(equalTo: showAlertButton.bottomAnchor, constant: 10).isActive = true
sendButton.widthAnchor.constraint(equalToConstant: 80).isActive = true
sendButton.heightAnchor.constraint(equalTo: showAlertButton.heightAnchor).isActive = true
}