Mac Catalyst UITitleBar 覆盖了UI -- 如何解决?
Mac Catalyst UITitleBar covers the UI -- how to resolve?
当 运行 iPad Mac Catalyst iPad 在 macOS 上时,有一个标题栏,我不介意。但它涵盖了 UI 的一部分,作为补偿,我应该将 UI 向下移动该条的高度。我找不到在任何地方找到那个高度的方法。我试过查询它及其 NSToolbar
属性,但没有任何信息提供给我这个基本信息。
我可以毫无问题地隐藏工具栏本身,使用这个:
#if targetEnvironment(macCatalyst)
if let titlebar = windowScene.titlebar {
titlebar.titleVisibility = .hidden
titlebar.toolbar = nil
}
#endif
这几乎解决了问题,因为一旦标题栏消失,大多数 UI 都可以访问,但是左上角的三个用于关闭和缩放 window 的控件仍在顶部UI 个元素。
你一般是怎么处理这个问题的?
为了让您的 UI 避免标题栏和其他 window chrome,它需要尊重 safeAreaInsets
,它告诉您的 UI哪个区域可以安全绘制而不被系统覆盖 UI.
当 运行 iPad Mac Catalyst iPad 在 macOS 上时,有一个标题栏,我不介意。但它涵盖了 UI 的一部分,作为补偿,我应该将 UI 向下移动该条的高度。我找不到在任何地方找到那个高度的方法。我试过查询它及其 NSToolbar
属性,但没有任何信息提供给我这个基本信息。
我可以毫无问题地隐藏工具栏本身,使用这个:
#if targetEnvironment(macCatalyst)
if let titlebar = windowScene.titlebar {
titlebar.titleVisibility = .hidden
titlebar.toolbar = nil
}
#endif
这几乎解决了问题,因为一旦标题栏消失,大多数 UI 都可以访问,但是左上角的三个用于关闭和缩放 window 的控件仍在顶部UI 个元素。
你一般是怎么处理这个问题的?
为了让您的 UI 避免标题栏和其他 window chrome,它需要尊重 safeAreaInsets
,它告诉您的 UI哪个区域可以安全绘制而不被系统覆盖 UI.