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

具体来说,我要这么做:
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视图时,我得到以下内容:

代码如下:
struct MainView: View {
var model: DataModel
var undoManager: UndoManager
var body: some View {
VStack {
ToolAccessoryView(model: model)
SculptingView(model: model, undoManager: undoManager)
}
}
}发布于 2022-11-01 21:02:45
这是从macOS 13开始通过使用自定义工具栏放置标识符实现的,如下所示:
extension ToolbarItemPlacement {
static let toolOptionsBar = ToolbarItemPlacement(id: "com.companyname.toolOptions")
}然后指定.toolbar中的位置
ToolbarItem(placement: .toolOptionsBar) {
ToolAccessoryView()
}在我看来是这样的:

滑块上的颜色有点奇怪,这很可能是它们的错误。
还请参阅https://developer.apple.com/documentation/swiftui/toolbarplacement/init(id:),它有一些示例代码。
https://stackoverflow.com/questions/68449521
复制相似问题