iOS 26中如何实现Toolbar文本左对齐且无Liquid Glass效果?
iOS 26中如何实现Toolbar文本左对齐且无Liquid Glass效果?
我太懂你这个困扰了!iOS 26对Toolbar的.topBarLeading位置做了调整,把这里的元素默认当成操作按钮,自动加上Liquid Glass效果,之前的自定义标题玩法直接失效,换位置又没法稳定左对齐,确实挺闹心的。
给你两个亲测有效的解决方案,都是在iOS 26上能稳定实现左对齐且无Liquid Glass的:
方法一:用ToolbarItemGroup配合frame强制左对齐
把你的文本放在ToolbarItemGroup里,再给文本加一个占满宽度的frame并设置左对齐,这样既不会被识别为操作按钮(也就不会有Liquid Glass),还能稳定靠左:
NavigationStack { Text("Hello, World!") .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItemGroup(placement: .topBarLeading) { Text("Good morning!") .frame(maxWidth: .infinity, alignment: .leading) } } }
原理是ToolbarItemGroup里的普通文本元素不会被系统判定为可交互的操作按钮,所以不会触发Liquid Glass样式,而frame(maxWidth: .infinity)能让文本占据整个.topBarLeading区域的宽度,再设置alignment: .leading就能牢牢靠左。
方法二:利用.principal位置自定义标题布局
如果不想用.topBarLeading,也可以用.principal位置,通过HStack加Spacer的方式强制文本左对齐,这个位置本身就不会给非操作元素加Liquid Glass:
NavigationStack { Text("Hello, World!") .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .principal) { HStack(spacing: 0) { Text("Good morning!") Spacer() } } } }
之前你遇到的.principal位置有时候居中有时候左对齐的问题,是因为系统会根据导航栏是否有返回按钮等元素自动调整布局,加个Spacer就能强制把文本挤到最左边,消除这种不确定性。
个人更推荐第一种方法,逻辑更直接,也更贴合你之前的使用习惯,而且在不同场景下的表现都很稳定。
内容来源于stack exchange
相关产品推荐
相关产品推荐

