Я хочу разместить кнопку над другим элементом пользовательского интерфейса программно в Swift - PullRequest
0 голосов
/ 29 мая 2019

Я пытался программно разместить кнопку над разделителем, но она не показывает во время выполнения, это мой взгляд на раскадровку, показанную на рисунке x

разделитель - UIview. Я перетащил его в раскадровку и связал с моим контроллером.

это мой код //

import UIKit
import Firebase
import FBSDKCoreKit
import FBSDKLoginKit

class LoginController: UIViewController, FBSDKLoginButtonDelegate {

    @IBOutlet weak var separator: UIView!
    @IBOutlet var fbLoginButton: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()

        if FBSDKAccessToken.current() != nil {
            // Present the main view because user already logged in
            self.performSegue(withIdentifier: "goToHome", sender: self)
        }else{

            loginButtonUI()
        }
    }

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

        loginButtonUI()
    }

    private func loginButtonUI(){

        let loginButton = FBSDKLoginButton()
        loginButton.delegate = self
        // Optional: Place the button in the center of your view.
        loginButton.center = view.center
        view.addSubview(loginButton)
    }

    func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {

        // fb login code

    }


}

но кнопка не отображается во время выполнения, почему?

1 Ответ

1 голос
/ 29 мая 2019

вам нужно активировать ограничения и убедиться, что вы добавили правильно

let loginButton = FBSDKLoginButton()
    loginButton.delegate = self

    view.addSubview(loginButton)
    loginButton.translatesAutoresizingMaskIntoConstraints = false
    loginButton.centerXAnchor.constraint(equalTo: separatorView.centerXAnchor).isActive = true
    loginButton.bottomAnchor.constraint(equalTo: separatorView.topAnchor, constant: 20).isActive = true
    loginButton.widthAnchor.constraint(equalToConstant: 100).isActive = true
    loginButton.heightAnchor.constraint(equalToConstant: 40).isActive = true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...