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

SwiftUI macOS:如何将Toolbar项置于搜索框右侧最右端

macOS 13+ 让Toolbar项固定在搜索框右侧最右端的解决方案

自macOS 13起,给视图添加.searchable后,primaryAction等Toolbar布局的默认位置逻辑发生改变,原本无搜索栏时能正常显示在窗口最右端的项,现在无法定位到搜索框右侧的最末端区域。

解决这个问题的核心是使用.trailing布局位置,这个placement在有搜索栏时会自动锚定到搜索框右侧的最末端,无搜索栏时也会保持在窗口最右端,完全匹配需求。

修改后的代码示例:

MainView()
.toolbar {
    ToolbarItemGroup(placement: .status) {
        Text("Status")
    }
    ToolbarItemGroup(placement: .principal) {
        Text("Principal")
    }
    ToolbarItemGroup(placement: .keyboard) {
        Text("Keyboard")
    }
    ToolbarItemGroup(placement: .secondaryAction) {
        Text("Secondary")
    }
    // 将需要放在最右端的项归入.trailing组
    ToolbarItemGroup(placement: .trailing) {
        Text("Primary")
        Text("Noplacement")
    }
}
.searchable(text: .constant(""))

如果需要单独控制每个Toolbar项的排列,也可以拆分为多个独立的.trailing类型ToolbarItem,它们会按代码顺序依次排列在搜索框右侧的最右端区域。

内容的提问来源于stack exchange,提问作者Peter Lapisu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:01:07