【发布时间】:2021-05-07 04:20:31
【问题描述】:
我有按钮在视图中,当视图动画时按钮由于某种原因被禁用 这是下面的代码,我在选项中有allowUserInteraction,但它什么也没做
UIView.animate(withDuration: 0.5, delay: 0, options: .allowUserInteraction) {
view.frame.origin.y = 36
} completion: { (_) in
UIView.animate(withDuration: 0.5, delay: 2, options: .allowUserInteraction) {
view.frame.origin.y = -100
} completion: { (_) in
print("completed")
}
}
【问题讨论】:
-
动画吞噬了触摸。您需要在按钮上放置一个轻击手势识别器。即便如此,请记住按钮不在您看到的位置,而是在动画结束时的位置。在这里使用 UIViewPropertyAnimator 会更开心;它会为您处理这一切。
-
我用 UIPropertyAnimator 制作了完全相同的动画,但遇到了同样的问题...我启用了 isUserInteractionEnabled
-
如果没有更多代码,我无法解释。您还没有给出我可以尝试的完整示例。但是我已经创建了完整的示例,你可以尝试,证明它可以做到并展示如何做到。
-
我用 Tapgesture 替换了按钮,它起作用了!非常感谢!
-
请注意,这是我在第一条评论中所说的。
标签: ios swift xcode storyboard