Как я могу добавить две кнопки UIB рядом? - PullRequest
0 голосов
/ 07 апреля 2020

Всякий раз, когда я симулирую свое приложение, кнопки UIB не появляются. Я получаю сообщение об ошибке:

Завершение приложения из-за необработанного исключения «NSGenericException», причина: «Невозможно активировать ограничение с помощью якорей и из-за того, что у них нет общего предка. Указывает ли ограничение или его привязки на элементы в разных иерархиях представления? Это незаконно. '

Как я могу это исправить?

 func setView(){

        signInButton.addTarget(self, action: #selector(userSignIn), for: .touchUpInside)
        signInButton.heightAnchor.constraint(equalToConstant: 120).isActive = true
        signInButton.widthAnchor.constraint(equalToConstant: 120).isActive = true
        signInButton.setTitle("Sign in",for: .normal)

        createAnAccountButton.addTarget(self, action: #selector(createAnAccount), for: .touchUpInside)
        createAnAccountButton.setTitle("Create an Account", for: .normal)
        createAnAccountButton.heightAnchor.constraint(equalToConstant: 120).isActive = true
        createAnAccountButton.widthAnchor.constraint(equalToConstant: 120).isActive = true

        let buttonStack = UIStackView()

        buttonStack.axis = NSLayoutConstraint.Axis.vertical
        buttonStack.distribution = UIStackView.Distribution.equalSpacing
        buttonStack.alignment = UIStackView.Alignment.center
        buttonStack.spacing = 16

        buttonStack.addArrangedSubview(signInButton)
        buttonStack.addArrangedSubview(createAnAccountButton)
        buttonStack.translatesAutoresizingMaskIntoConstraints = false
        buttonStack.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        buttonStack.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        buttonStack.frame = CGRect(x: 0, y: 0, width: 100, height: 60)
        self.view.addSubview(buttonStack)

//        let barButtonSignIn = UIBarButtonItem(customView: signInButton)
//        self.navigationItem.leftBarButtonItem = barButtonSignIn

    }

1 Ответ

0 голосов
/ 07 апреля 2020

Вы должны позвонить addSubview, прежде чем активировать ограничения.

...