Cocoa NSView覆盖NSPageController在转换时消失
我有一个包含8个左右NSViewController的NSPageController。当鼠标在窗口内时,我希望有一个半透明的底部栏,而不管鼠标在哪里,都要有一个半透明的顶部栏 我将顶部栏和底部栏以及NSPageControllers viewDidLoad()方法中的约束添加到视图中 它们在第一页上显示得很好,但当我开始从一个页面过渡到另一个页面时,新的NSViewController会在重叠视图上重新绘制,然后消失。我可以验证它们是否在NSViewControllers下,因为我会一直拖动到特定的一侧,这样我就可以看到它们在下面 知道为什么会发生这种情况/我如何避免 代码:Cocoa NSView覆盖NSPageController在转换时消失,cocoa,drawing,nsview,nsviewcontroller,Cocoa,Drawing,Nsview,Nsviewcontroller,我有一个包含8个左右NSViewController的NSPageController。当鼠标在窗口内时,我希望有一个半透明的底部栏,而不管鼠标在哪里,都要有一个半透明的顶部栏 我将顶部栏和底部栏以及NSPageControllers viewDidLoad()方法中的约束添加到视图中 它们在第一页上显示得很好,但当我开始从一个页面过渡到另一个页面时,新的NSViewController会在重叠视图上重新绘制,然后消失。我可以验证它们是否在NSViewControllers下,因为我会一直拖动到
提前谢谢 这似乎是一个未解决的错误。这对我来说是固定的:
pageController
正在填充窗口的视图,请将contentView
的背景设置为nil。这样,我们将看到的背景始终是pageController
的背景func pageControllerDidEndLiveTransition(_ pageController: NSPageController) {
let controller = selectedViewController as! (YOUR_NSVIEWCONTROLLER_CLASS)
controller.view.superview?.addSubview(controller.view, positioned: .below, relativeTo: TOOLBAR)
}
ViewController
类名替换ViewController\u类
,然后为您希望在顶部看到的视图替换TOOLBAR
。请显示您的代码。。。。
func pageControllerDidEndLiveTransition(_ pageController: NSPageController) {
let controller = selectedViewController as! (YOUR_NSVIEWCONTROLLER_CLASS)
controller.view.superview?.addSubview(controller.view, positioned: .below, relativeTo: TOOLBAR)
}