2017-01-27 2 views
-1
  1. У меня есть мнение, которое вращается, как это:CABasicAnimation на UIView, кнопка Ребенка не кликабельна

    if view.layer.animation(forKey: kRotationAnimationKey) == nil { 
        let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation") 
        rotationAnimation.fromValue = 0.0 
        rotationAnimation.toValue = Float(M_PI * 2.0) 
        rotationAnimation.duration = duration 
        rotationAnimation.repeatCount = Float.infinity 
    
        view.layer.add(rotationAnimation, forKey: kRotationAnimationKey) 
    } 
    
  2. Есть несколько маленькой кнопки с этой точкой зрения.

  3. В то время как родительский вид вращается и пытается нажимать на кнопки, я не могу нажать, и соответствующий метод действия не вызван.

Помогите по этому вопросу.

+0

Возможный дубликат [User Interaction Enabled With CAAnimation?] (Http://stackoverflow.com/questions/11110485/user-interaction-enabled-with-caanimation) – Carter

+0

Ссылка, приведенная в этом сообщении, не работает. любая помощь? –

+0

Рабочая ссылка: http://ronnqvi.st/hit-testing-animating-layers/. В будущем, пожалуйста, сначала попробуйте выполнить поиск в googling, прежде чем спросить, это был первый хит, когда googling заголовок. – Carter

ответ

0

Когда вы анимируете вид или слой, фактический вид не перемещается по промежуточным местоположениям анимации. Вместо этого объект представления переходит к его окончательному местоположению в начале анимации. (Анимация на самом деле происходит на «уровне презентации», который укладывается поверх иерархии нормального слоя.)

Если вы хотите, чтобы у вас была возможность нажать кнопку «в полете» в анимации, вы будете необходимо выполнить тестирование на уровне представления представления, и вы не можете заставить кнопку реагировать на касания, используя цель/действие.

У меня есть образец проекта на Github, который демонстрирует обнаружение кранов в полете, если вам интересно. Взгляните на https://github.com/DuncanMC/iOS-CAAnimation-group-demo на Github. Это написано в Objective-C, но идея такая же.

+0

Привет, Дункан. Просьба предоставить образец проекта, как я пытался исправить свой код, но он не работает. –

+0

См. Изменение в моем ответе. –