Facebook 按钮对齐问题

Facebook button alignment issues

所以我要添加

  var FBlogBut = FBSDKLoginButton()
    loginView.addSubview(FBlogBut)


    NSLayoutConstraint(item: FBlogBut, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 350 ).isActive = true


    NSLayoutConstraint(item: FBlogBut, attribute: .centerX, relatedBy: .equal, toItem: loginView, attribute: .centerX, multiplier: 1, constant: 0 ).isActive = true

    loginView.layoutIfNeeded()

所以我不确定为什么按钮在左上角,而所有其他项目都正常..它至少应该是 350 和 cetnered。

有两个原因。

首先,您只设置了 CenterX 和宽度。您需要指定垂直约束,顶部约束或 CenterY。

第二个是默认情况下 translatesAutoresizingMaskIntoConstraints 将是 true,这意味着视图将其原点和大小设置为约束。这会弄乱你的布局。

只需将其设置为 false: FBlogBut.translatesAutoresizingMaskIntoConstraints = false

PS。如果你想遵循命名约定,变量名是驼峰式的,这意味着第一个字符是小写的。在这种情况下,您的缩写是不必要的,按钮名称可以是 fbLoginButton 并且不会太长。 FBLogBut 不清楚它是登录按钮还是注销按钮。