我怎么知道NSToolbar的高度?当我将一个NSView放在一个打开了NSToolbar的NSWindow中时,我如何设置NSView的高度,使它可以在窗口中占据所有可用高度?
发布于 2020-05-18 14:57:01
如果您设置/替换窗口的contentView,窗口将自动且必要地将其调整为正确的大小(或者,如果视图的大小受到比NSLayoutConstraint.Priority.windowSizeStayPut更高的优先级约束,则调整自身的大小)。
如果您将视图放在所提供的内容视图中,则内容视图的bounds指示将在其中放置视图的矩形。
如果你只想要窗口的内容矩形,你可以用window.contentRect(forFrameRect:window.frame)得到。
发布于 2021-03-28 21:03:42
在macOS 11或更高版本中,如果启用了“全尺寸内容视图”设置,则可以使用safeAreaInsets来确定工具栏的高度:
guard let contentView = window?.contentView else {
return
}
let toolbarHeight = contentView.safeAreaInsets.top发布于 2020-05-18 13:31:18
根据我的经验,你不需要考虑工具栏的高度;运行库会自动为你做这件事。只需像往常一样添加视图即可。从编程的角度看,它看起来像这样:
let view = CustomView( frame:NSMakeRect(0, 0, _wndW, _wndH) )
window.contentView!.addSubview (view)https://stackoverflow.com/questions/61861765
复制相似问题