如何防止 NSToolbar 与 NSViewController 内容重叠?
How to prevent NSToolbar overlapping NSViewController content?
我有一个带有工具栏和视图控制器的基本 MacOS 应用程序。我正在尝试不受约束地执行一些布局,但是当我尝试将子视图定位在左上角时,它隐藏在工具栏下。
这是一个演示问题的示例(这只需要一个带有故事板的默认 MacOS 应用程序)。我在 y 位置添加了 -10,这样标签就可以看到了。
class ViewController: NSViewController {
let label = NSTextField()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(label)
label.stringValue = "My Label"
}
override func viewDidLayout() {
super.viewDidLayout()
label.sizeToFit()
label.frame = CGRect(x: 0,
y: view.bounds.maxY - 10,
width: label.bounds.width,
height: label.bounds.height)
}
}
请问我做错了什么?有没有办法让工具栏位于视图控制器的内容上方而不是与其重叠?
非常感谢!
label.frame.y
是标签底部,高度>10。
label.frame = CGRect(x: 0,
y: view.bounds.maxY - label.frame.height,
width: label.frame.width,
height: label.frame.height)
我有一个带有工具栏和视图控制器的基本 MacOS 应用程序。我正在尝试不受约束地执行一些布局,但是当我尝试将子视图定位在左上角时,它隐藏在工具栏下。
这是一个演示问题的示例(这只需要一个带有故事板的默认 MacOS 应用程序)。我在 y 位置添加了 -10,这样标签就可以看到了。
class ViewController: NSViewController {
let label = NSTextField()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(label)
label.stringValue = "My Label"
}
override func viewDidLayout() {
super.viewDidLayout()
label.sizeToFit()
label.frame = CGRect(x: 0,
y: view.bounds.maxY - 10,
width: label.bounds.width,
height: label.bounds.height)
}
}
请问我做错了什么?有没有办法让工具栏位于视图控制器的内容上方而不是与其重叠?
非常感谢!
label.frame.y
是标签底部,高度>10。
label.frame = CGRect(x: 0,
y: view.bounds.maxY - label.frame.height,
width: label.frame.width,
height: label.frame.height)