尽管包含 .allowUserInteraction 作为选项,但将动画应用于 UIImageView 会阻止动画期间的交互。该 View 似乎只在动画结束时才会响应。我花了无数时间研究这个但毫无结果。其他帖子建议更改 alpha 值,但这似乎仅适用于按钮。 (UIImageView 通过 UIPanGestureRecognizer 连接到 @IBAction)。
@IBAction func panAction(recognizer: UIPanGestureRecognizer) {
let translation = recognizer.translationInView(self.view)
recognizer.view!.center = CGPoint(x: recognizer.view!.center.x + translation.x, y: recognizer.view!.center.y + translation.y)
recognizer.setTranslation(CGPointZero, inView: self.view)
if recognizer.state == UIGestureRecognizerState.Ended {
UIView.animateWithDuration(3, delay: 0, options: [UIViewAnimationOptions.CurveEaseOut, UIViewAnimationOptions.AllowUserInteraction], animations: {
recognizer.view?.center.y += 300
}, completion: nil)
}
}
最佳答案
ImageView 不影响用户交互,您可以将其设置在可以按下/点击的对象上(即 Button、Cell、CollectionView)。
您必须将其设置为平移手势/您必须禁用平移手势。
关于ios - .AllowUserInteraction 不适用于 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38156891/