Быстрое положение и ограничения программно - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть следующий вид:

enter image description here

Я должен разместить UIButton или UILabel ниже Баланс счета в зависимости от того, отклонено это движение или нет (просто проверьте переменную).

Я программно создал кнопку и метку в зависимости от этого, но я не знаю, как добавить ее в это конкретное местои добавить ограничения.

func checkRejected () {
    if !movement.rejected {
        let xposition = amountLabel.frame.origin.x
        let yposition = balanceLabel.frame.origin.y + 300
        let button = UIButton(frame: CGRect(x: xposition, y: yposition, width: 100, height: 50))
        button.setTitle("Reject", for: .normal)
        button.setTitleColor(UIColor.blue, for: .normal)
        button.addTarget(self, action: #selector(rejectAction), for: .touchUpInside)
        self.view.addSubview(button)
    }
    else {
        let xposition = amountLabel.frame.origin.x
        let yposition = balanceLabel.frame.origin.y + 300
        let label = UILabel(frame: CGRect(x: xposition, y: yposition, width: 100, height: 50))
        label.text = "Rejected"
        label.textColor = UIColor.red
        self.view.addSubview(label)
    }
}

Как я мог это сделать?

1 Ответ

0 голосов
/ 07 декабря 2018

Вы можете попробовать

self.view.addSubview(button)
button.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([ 
    button.topAnchor.constraint(equalTo: self.balanceLabel.bottomAnchor,constant:30),
    button.centerXAnchor.constraint(equalTo: self.view.centerXAnchor),
])

То же самое для метки

Примечание: Так как кнопка и метка имеют собственный размер содержимого, то мы не будемдолжны установить ширину && высота

...