Swift: анимация ограничений и изменение альфа вызывает сбой - PullRequest
0 голосов
/ 18 октября 2018

Почему этот код вызывает ошибку SIGABT?

@IBAction func showDial(_ sender: Any) {

        var dialBottom:CGFloat = lcDialBottom!.constant

        if dialBottom == -600 {
            //move up
            dialBottom = -400
        } else {
            //move down
            dialBottom = -600
        }

        UIView.animate(withDuration: 0.3,
            animations: {
                self.lcDialBottom.constant = dialBottom
                self.view.layoutIfNeeded()
                self.view.updateConstraintsIfNeeded()
                self.btnShowDial.alpha = 0.0
       })
    }

Ошибка:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSLayoutConstraint setAlpha:]: unrecognized selector sent to instance 0x600002ff8d70'

Я понимаю, что говорит ошибка, NSLayoutConstraint не имеет метода setAlpha, но я не вызываю его на NSLC, яВызов набора альфа на UIButton, который имеет setAlpha.

Вот мои свойства:

@IBOutlet weak var btnShowDial: UIButton!
@IBOutlet weak var lcDialBottom: NSLayoutConstraint!

1 Ответ

0 голосов
/ 18 октября 2018

Проверьте соединение btnShowDial в раскадровке.Возможно, вы подключили этот IBOutlet с ограничением макета.

...