.AllowUserInteraction 不适用于 UIImageView

Posted

技术标签:

【中文标题】.AllowUserInteraction 不适用于 UIImageView【英文标题】:.AllowUserInteraction doesn't work for UIImageView 【发布时间】:2016-07-02 05:39:18 【问题描述】:

将动画应用于 UIImageView 会阻止动画期间的交互,尽管包含 .allowUserInteraction 作为选项。该视图似乎仅在动画结束时响应。我花了无数个小时研究这个无济于事。其他帖子建议更改 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) 【参考方案1】:

ImageView 不影响用户交互,您可以将其设置在可以按下/点击的对象上(即 Button、Cell、CollectionView)。

您必须在平移手势上设置它/您必须禁用平移手势。

【讨论】:

感谢您的回答。你能解释一下吗,我不太明白。 是的。您需要什么说明?? 我希望能够停止视图动画并移动它。但我需要为识别器提供的功能平移手势。那你有什么建议呢? 尝试在该 imageView 上单击一个按钮。然后将 .AllowUserInteraction 放在 ButtonAction 中,但不是放在 ImageView 上,而是放在按钮本身上。 图像视图确实允许用户交互,但我尝试用一​​个没有区别的按钮交换它

以上是关于.AllowUserInteraction 不适用于 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章

重复动画重新启动按钮的位置

Swift 2/Xcode 7 beta - 多个位掩码产生错误

不属于gsp的适用范围

为啥元类适用于类属性但@classmethod @property 不适用?

JavaScript 箭头函数:适用与不适用场景

WEKA:如何区分“缺失”和“不适用”的数字数据?