如何将 ToolbarItem 放置在 menuBar 的右侧?

Posted

技术标签:

【中文标题】如何将 ToolbarItem 放置在 menuBar 的右侧?【英文标题】:How can I place a ToolbarItem on the right side of the menuBar? 【发布时间】:2021-11-05 07:49:15 【问题描述】:

SwiftUI、macOS。

当我尝试这样做时:

ToolbarItem (placement: .navigationBarTrailing) 
                            // content
                        

我得到一个编译错误: 'navigationBarTrailing' 在 macOS 中不可用

那么如何将内容放置在菜单栏的右侧?

【问题讨论】:

.automatic 似乎是为我做的。 【参考方案1】:

我假设您的意思是工具栏(因为 macOS 应用程序主菜单栏是唯一的,不允许将项目放在右侧 - 您需要使用 NSStatusItem 进行操作)。

所以对于工具栏,我相信您可以使用confirmationAction 放置将项目强制放置在尾随(右侧)位置。请参阅下面的 Apple 文档:

    /// The item represents a confirmation action for a modal interface.
    ///
    /// ...
    ///
    /// In macOS and in Mac Catalyst apps, the system places
    /// `confirmationAction` items on the trailing edge
    /// in the trailing-most position of the sheet and gain the apps accent
    /// color as a background color.
    ///
    /// ...
    /// 
    public static let confirmationAction: ToolbarItemPlacement

【讨论】:

谢谢。是的,它有效,但话又说回来,不完全。我还在中心放置了一个项目(放置:.principal)。出于某种原因,我似乎无法同时拥有两者。有什么想法吗?

以上是关于如何将 ToolbarItem 放置在 menuBar 的右侧?的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中,如何将primaryAction ToolbarItem 加粗?

Xamarin Forms 将 ToolBarItem 图标设置为资源图像

如何在 xamarin 中为 android 添加工具栏,因为 ToolbarItem 不适用于 .droid?

使用 ToolbarItem(placement: .principal) re: largeTitle 的正确方法是啥?

ToolbarItem 内的按钮无法关闭工作表

SwiftUI .toolbar ToolbarItem 自定义按钮设计