单击时如何防止按钮动画

Posted

技术标签:

【中文标题】单击时如何防止按钮动画【英文标题】:How to prevent button from animating when clicked 【发布时间】:2020-11-04 00:02:53 【问题描述】:

我试图阻止按钮在单击时产生动画,但我没有成功。

我尝试将UIButton.appearance().isHighlighted.adjustsImageWhenHighlighted.showsTouchWhenHiglighted 设置为false。我也试过:

Button(action: ) 
   Text("X")

.animation(.none)

【问题讨论】:

【参考方案1】:

几乎,要在某个地方禁用动画,应该设置nil,比如

Button(action: ) 
   Text("X")

.animation(nil)     // << here !!

使用 Xcode 12.1 / ios 14.1 测试

【讨论】:

我使用的是相同的环境,但它只适用于第一次点击。之后,动画返回。【参考方案2】:

我认为这个问题最纯粹的解决方案是不使用Button。 相反,您可以这样做:

Text("X")
  .onTapGesture 
    print("clicked!")
  

【讨论】:

我需要使用按钮。【参考方案3】:

如果您无法以任何其他方式使其工作,您可以禁用该按钮并为其附加轻击手势识别器。

【讨论】:

以上是关于单击时如何防止按钮动画的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI - 奇怪的动画

单击后退按钮但不离开页面时防止自动滚动?

SwiftUI ButtonStyle scaleEffect 动画按钮位置变化

每次用户单击时如何使用按钮启用CSS动画然后重新开始

如何通过单击按钮更改另一个对象的动画?

选中单选按钮时如何播放动画?