是否可以自定义面料Twitter登录按钮的大小?

时间:2016-08-17 09:36:41

标签: swift twitter login uibutton twitter-fabric

据说,Twitter登录按钮是UIButton的子类,但与设置UIButton(例如setTitle()setBackgroundColor()等)对象相关的方法似乎都不适用于twitter按钮。具体来说,我正在尝试调整它,但似乎没有任何工作。以下是我在viewDidLoad()

中尝试过的内容
let twitterLoginButton = TWTRLogInButton(frame: CGRectMake(0, 0, 200, 50))
self.view.addSubview(twitterLoginButton)

我也试过这个

let twitterLoginButton = TWTRLogInButton.init(frame: CGRectMake(0, 0, 200, 50))
self.view.addSubview(twitterLoginButton)

然后我尝试使用上面的rect参数为登录按钮创建一个容器UIView,然后将按钮放入其中,而不是像这样直接在UIView控制器中

let twitterLoginButton = TWTRLogInButton()
let twitterLoginButtonParent = TWTRLogInButton(frame: CGRectMake(0, 0, 200, 50))
twitterLoginButtonParent.addSubview(twitterLoginButton)
self.view.addSubview(twitterLoginButtonParent)

let twitterLoginButtonSize = CGSize(width: 200, height: 50)
twitterLoginButton.sizeThatFits(twitterLoginButtonSize)

至少这次,按钮不会卡在左上角,而是被迫承担新父母的x和y位置。然而,它仍然不能像我想的那样承担其父母的大小。 是否有任何方法可以强制按钮调整大小?使用Facebook按钮,它更容易。

1 个答案:

答案 0 :(得分:1)

这解决了它。显然我必须先用loginCompletion初始化按钮

    let twitterLoginButton = TWTRLogInButton(logInCompletion: { session, error in
        if (session != nil) {
            print("signed in as \(session!.userName)");
        } else {
            print("error: \(error!.localizedDescription)");
        }
    })

    twitterLoginButton.frame  = CGRectMake(0, 0, 200, 50)