Анимация положения кнопок UIB приводит к тому, что они перестают получать сенсорные действия - PullRequest
0 голосов
/ 02 июня 2018

В моем приложении есть несколько кнопок, которые после нажатия отдельной кнопки перемещаются на новые позиции в анимации UIView.Сама анимация работает отлично, но проблема в том, что после анимации четыре кнопки перестают реагировать на сенсорные действия.Вот мой текущий код:

UIView.animate(withDuration: 1.0, delay: 0.0, options: [.allowUserInteraction], animations: {
            self.hexagon.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 2)
            self.tileB.center.x += self.tileB.bounds.width
            self.tileB.center.y += self.tileB.bounds.height
            self.tileF.center.x -= self.tileF.bounds.width
            self.tileF.center.y += self.tileF.bounds.height
            self.tileH.center.x -= self.tileH.bounds.width
            self.tileH.center.y -= self.tileH.bounds.height
            self.tileD.center.x += self.tileD.bounds.width
            self.tileD.center.y -= self.tileD.bounds.height
        }, completion: nil)

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

1 Ответ

0 голосов
/ 02 июня 2018

Сама анимация работает отлично, но проблема в том, что после анимации четыре кнопки перестают реагировать на сенсорные действия

Возможно, причина в том, что после анимации кнопки имеютвышли за пределы своих суперпредставлений.Вид за пределами своего суперпредставления недоступен, даже если он виден.

Один из способов подтвердить это - установить для clipsToBounds суперпредставления значение true и выполнить анимацию.Кнопки исчезнут к концу анимации, доказывая, что они вышли за пределы своего суперпредставления.

...