我想调整Facebook的LoginButton
,但我得到这个错误的iOS的Facebook LoginButton约束冲突
[LayoutConstraints]无法同时满足的约束。 以下列表中的至少一个约束可能是您不想要的。
试试这个:
(1)看每个约束和揣摩,你不要指望;
(2)找到添加了不需要的约束或约束并修复它的代码。
(注意:如果你看到,你不明白NSAutoresizingMaskLayoutConstraints,请参阅UIView的财产translatesAutoresizingMaskIntoConstraints的文档)
( “NSAutoresizingMaskLayoutConstraint:0x1c4283ed0 H = - & V = - & FBSDKLoginButton:0x104432fd0'Log in'.height == 40(活动)”,
“NSLayoutConstraint:0x1c42828f0 FBSDKLoginButton:0x104432fd0'Log in'.height == 28(活性)>” )
将试图通过打破约束,以恢复
NSLayoutConstraint:0x1c42828f0 FBSDKLoginButton:0x104432fd0'Log in'.height == 28(主动)>
我已经搜查了很多,不知道如何height == 28
约束存在。
创建LoginButton
:
private var didLayoutSubviews = false {
didSet {
//I've use storyboard first, but couldn't make it work with resizing
self.facebookSignUpButton.removeFromSuperview()
self.facebookSignUpButton = LoginButton(readPermissions: [.email, .publicProfile])
//I've tried to set `isActive = false`
self.facebookSignUpButton.constraints.forEach({self.facebookSignUpButton.removeConstraint($0)})
self.facebookSignUpButton.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(self.facebookSignUpButton)
self.facebookSignUpButton.heightAnchor.constraint(equalToConstant: self.googleSignUpButton.frame.height - 8).isActive = true
self.facebookSignUpButton.widthAnchor.constraint(equalToConstant: self.googleSignUpButton.frame.width - 8).isActive = true
self.facebookSignUpButton.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true
self.facebookSignUpButton.topAnchor.constraint(equalTo: self.separatorLabel.bottomAnchor, constant: 20).isActive = true
self.facebookSignUpButton.bottomAnchor.constraint(equalTo: self.googleSignUpButton.topAnchor, constant: -10).isActive = true
self.facebookSignUpButton.delegate = self.presenter
self.view.layoutIfNeeded()
}
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if !self.didLayoutSubviews {
self.didLayoutSubviews = true
}
}
我得到它,但我第一次删除此按钮的所有限制,无法理解,为什么他们不会被删除 – JuicyFruit