gpt4 book ai didi

ios - 将约束应用于 Facebook 登录按钮

转载 作者:行者123 更新时间:2023-11-28 11:11:35 26 4
gpt4 key购买 nike

我正在尝试向 facebook 按钮添加约束以使其位于按钮处,这是我的代码;

...
let loginButton = FBSDKLoginButton()
loginButton.readPermissions = ["public_profile", "email"]
loginButton.center = self.view.center

let myConstraint =
NSLayoutConstraint(item: loginButton,
attribute: NSLayoutAttribute.Bottom,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Bottom,
multiplier: 1.0,
constant: -20)
self.view.addConstraint(myConstraint)

loginButton.addConstraint(myConstraint)

loginButton.delegate = self
self.view.addSubview(loginButton)

失败并出现以下错误;

The view hierarchy is not prepared for the constraint: <NSLayoutConstraint:0x15fd258a0 FBSDKLoginButton:0x15fe562d0'Log in'.bottom == UIView:0x15fd2fa60.bottom - 20>
When added to a view, the constraint's items must be descendants of that view (or the view itself). This will crash if the constraint needs to be resolved before the view hierarchy is assembled. Break on -[UIView(UIConstraintBasedLayout) _viewHierarchyUnpreparedForConstraint:] to debug.

有什么想法吗?

最佳答案

错误告诉您添加约束太早。您应该首先添加 loginButton,然后才添加约束:

loginButton.delegate = self

self.view.addSubview(loginButton)
self.view.addConstraint(myConstraint)
loginButton.addConstraint(myConstraint)

错误消息提到添加到 View 时,约束的项目必须是该 View 的后代。但是您在将实际按钮添加到 View 之前添加了 loginButton 的约束。

关于ios - 将约束应用于 Facebook 登录按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com