尽管将.allowUserInteraction作为选项包括在内,但将动画应用于UIImageView可以防止在动画期间进行交互。该视图似乎仅在动画快结束时做出响应。我花了无数小时来研究这个问题,但没有成功。其他帖子建议更改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/

10-10 06:29