首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI NSTitlebarAccessoryViewController

SwiftUI NSTitlebarAccessoryViewController
EN

Stack Overflow用户
提问于 2021-07-20 04:23:09
回答 1查看 168关注 0票数 8

我想使用SwiftUI应用程序生命周期,但是我的应用程序使用NSTitlebarAccessoryViewController显示工具栏下面的工具选项栏:

具体来说,我要这么做:

代码语言:javascript
复制
        let toolSettingsView = NSHostingView(rootView: ToolAccessoryView(model: model))
        let vc = NSTitlebarAccessoryViewController()
        vc.view = toolSettingsView
        vc.fullScreenMinHeight = accessoryHeight // Ensure tool settings are visible in full screen.
        toolSettingsView.frame.size = toolSettingsView.fittingSize
        window?.addTitlebarAccessoryViewController(vc)

有一种(实用的)方法,我可以模仿(滑块等的)控制外观吗?使用纯SwiftUI?时,当使用SwiftUI视图时,我得到以下内容:

代码如下:

代码语言:javascript
复制
struct MainView: View {
    
    var model: DataModel
    var undoManager: UndoManager
    
    var body: some View {
        VStack {
            ToolAccessoryView(model: model)
            SculptingView(model: model, undoManager: undoManager)
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-01 21:02:45

这是从macOS 13开始通过使用自定义工具栏放置标识符实现的,如下所示:

代码语言:javascript
复制
extension ToolbarItemPlacement {
    static let toolOptionsBar = ToolbarItemPlacement(id: "com.companyname.toolOptions")
}

然后指定.toolbar中的位置

代码语言:javascript
复制
ToolbarItem(placement: .toolOptionsBar) {
    ToolAccessoryView()
}

在我看来是这样的:

滑块上的颜色有点奇怪,这很可能是它们的错误。

还请参阅https://developer.apple.com/documentation/swiftui/toolbarplacement/init(id:),它有一些示例代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68449521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档