Я пытаюсь показать пользовательский вид, когда получаю уведомление от синтаксического анализа. Этот вид показан с анимацией и скрыт с другой анимацией. В этом представлении также есть uitapgesturerecognizer, который должен быть запущен, когда пользователь удаляет представление. Моя проблема заключается в том, что при запуске второй анимации неуправляемое пользовательское представление не работает: \Разрешить UITapGestureRecognizer внутри UIAnimations
Любые идеи? Я вставляю код. Спасибо!
func doManageObjectNotification(notification: COPushNotification){
mainView = UIApplication.sharedApplication().keyWindow!
customView = CustomNotificationView()
let height = customView.calculateViewHeight()
customView.frame = CGRectMake(0, -height, mainView.frame.width, height)
customView.targetMethod = notificationWasTapped
customView.setContent(notification)
customView.alpha = 0
mainView.addSubview(customView)
UIView.animateWithDuration(0.75, delay: 0, options: [UIViewAnimationOptions.CurveEaseInOut, UIViewAnimationOptions.AllowUserInteraction], animations: {() -> Void in
// Show the view
self.customView.frame.origin.y = 0
self.customView.alpha = 1
}) { (Bool) -> Void in
UIView.animateWithDuration(0.75, delay: 5, options: [UIViewAnimationOptions.CurveEaseInOut, UIViewAnimationOptions.AllowUserInteraction], animations: {
// Hide the view
self.customView.alpha = 0
}, completion: { finished in
self.customView.removeFromSuperview()
self.customView = nil
})
}
}
Большое вам спасибо Lion для вас ответ. Я понял, что проблема заключается в инструкции customView.alpha = 0, которая сообщает ui, что это представление невидимо, поэтому автоматически все события касания отменены. Мое решение состояло в том, чтобы поместить customView.alpha = 0,1, и когда анимация закончилась, удалите представление из супервизора. После этого начались жест и прикосновения (как вы сказали);) –