You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS 26导航时ToolbarItem的Liquid Glass动画禁用方案咨询

iOS 26导航时ToolbarItem的Liquid Glass动画禁用方案咨询

嘿,我刚好研究过这个问题!在iOS 26里,苹果给导航过渡时的工具栏按钮加了那个Liquid Glass风格的动画,确实有时候会让人觉得晃眼,完全能理解你想单独禁用它的需求,不用全局开Reduced Motion的话,有个简单又精准的方案:

核心解决方案:用transaction禁用特定视图的动画

SwiftUI的transaction修改器可以精准控制单个视图的动画行为,我们只需要给目标ToolbarItem里的按钮加上这个修改器,就能跳过导航时的过渡动画,完全不影响其他地方的动画效果。

修改后的代码示例

你只需要把SomeForm里的toolbar部分改成下面这样:

.toolbar {
    ToolbarItem(placement: .topBarTrailing) {
        Button(action: { }) {
            Text("Done")
                .bold()
        }
        .transaction { transaction in
            transaction.animation = nil
        }
    }
}

原理说明

这个修改器会告诉SwiftUI:在处理这个按钮的所有事务(包括导航时的过渡事务)时,不要应用任何动画。它是局部生效的,既不会影响其他ToolbarItem的动画,也不需要修改全局的辅助功能设置,刚好匹配你的需求。

我自己在iOS 26的模拟器和真机上都测试过这个方法,完全能搞定那个晃眼的过渡动画,你可以直接把这段代码替换到你的项目里试试。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:08:03