gpt4 book ai didi

ios - 为什么 UIView 的 CALayer.speed 为零会阻止 UIAlertController 的按钮工作?

转载 作者:行者123 更新时间:2023-11-28 13:36:10 24 4
gpt4 key购买 nike

我有一个自定义事件指示器,它是一个全屏 UIView,在其 layer 属性中添加了用于旋转的 CABasicTransformation。当我在我的自定义 hideActivityIndi​​cator() 方法中设置 layer.speed = 0 然后显示警报时,我无法与其按钮或其他任何内容进行交互,而在我显示之前先说设置 layer.speed = 0 后,我可以在同一 Controller 的 TableView 中选择一个单元格。需要明确的是,这是唯一产生效果的代码行。如果我将其注释掉,警报效果会很好。

最佳答案

默认情况下,动画会导致 UI 元素停止接受“用户交互”(点击)。

我的猜测是,当您将动画速度设置为 0 时,动画一直在运行,永远不会结束,并且用户交互被禁用。

您可以在按钮上设置 allowUserInteraction 标志,但 allowUserInteraction 是 UIView.AnimationOptions 的一个属性,所以我不确定您是如何设置的做到这一点。

您可以尝试在 View 的转换属性上使用 UIView 动画,而不是在图层上使用 CABasicAnimation。然后您可以在设置动画时使用 allowUserInteraction 属性。

(请注意,在幕后,UIView 动画实际上创建了 CAAnimation,将图层的动画速度设置为 0 仍会卡住动画。)

关于ios - 为什么 UIView 的 CALayer.speed 为零会阻止 UIAlertController 的按钮工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56599181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com