2017-08-28 5 views
0

私はFacebookのSDKを使用して、私のアプリでFacebookの認証を実装しているが、私は、ログインボタンの奇妙な行動に直面しています。 UIButtonの制約を設定し、カスタムクラスをFBSKDLoginButtonに設定しても問題ありません。しかし、アプリケーションがボタンを開くと、ボタンの高さを何かに変更します。FacebookのSDK変更高さが自動的に

How it is:

How It was suppose to be:

+0

自動レイアウトの制約を表示します。 – toddg

+0

与えられた拘束の問題があるかもしれません。 –

+0

私は写真を投稿できませんが、左、右と下の拘束と高さを作成しています:50px。 – Khromos

答えて

0

FBのログインボタンを実装するための最良の方法は、あなたがあなた自身のUIButtonを作成することです。その後、ボタンのIBActionでログインを実行してください。これは簡単で柔軟性があります。

0

これを更新するだけです。私はすでに問題を解決しています。私は、UIButtonを作成し、自分のアウトレットを作成することにより、手動でそれをやったと私は、これはFUNC追加アウトレット

func configureFacebook(){ 

    let rect = CGRect(x: 0, y: 300, width: 300, height: 50) 
    facebookLoginBtn.backgroundColor = UIColor(r: 75, g: 100, b: 157) 
    facebookLoginBtn.frame = rect 
    facebookLoginBtn.center = self.view.center 
    facebookLoginBtn.setTitle("Login with Facebook", for: .normal) 

    // Handle clicks on the button 
    facebookLoginBtn.addTarget(self, action: #selector (self.loginButtonClicked), for: .touchUpInside) 
    // Add the button to the view 
    self.view.addSubview(facebookLoginBtn) 
} 

@IBOutlet weak var facebookLoginBtn: UIButton! 

だから私も、すぐにプロファイルを表示する機能を作成しましたユーザーが既にFacebookにログインしているため:

override func viewDidAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    if(FBSDKAccessToken.current() != nil){ 

     let toProfileVC = storyboard?.instantiateViewController(withIdentifier: "profileNavigationController") 
     self.present(toProfileVC!, animated: true, completion: nil) 

    }else{ 

    } 
} 

そして今、Facebお問い合わせ

func loginButtonClicked(){ 

    var login = FBSDKLoginManager() 
    //Login facebook permissions and prints 
    login.logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self) { (result: FBSDKLoginManagerLoginResult!, error: Error?) in 
     if (error != nil){ 
      print(error) 
     } 

     if let userToken = result.token{ 
      let token : FBSDKAccessToken = result.token 

      self.nextPage() 
      print("Token = \(FBSDKAccessToken.current().tokenString)") 
      print("User ID = \(FBSDKAccessToken.current().userID)") 
     } 
    } 
} 

func nextPage(){ 

    let toProfileVC = storyboard?.instantiateViewController(withIdentifier: "profileNavigationController") 
    self.present(toProfileVC!, animated: true, completion: nil) 
} 

ありがとうございました!

関連する問題