我有一个应用程序以编程方式完成所有 UI,而无需使用自动布局或任何类型的约束。屏幕底部是一个 UIToolbar。我试图将其布局为与 iPhone X 屏幕的底部安全区域配合良好,但由于 VC 的设计,我无法使用布局约束。
所以在我的 layoutSubviews 回调中我这样做了:
if (@available(iOS 11.0, *)) {
toolbarHeight += UIApplication.sharedApplication.keyWindow.safeAreaInsets.bottom;
}
然后直接用 toolBarHeight 设置 UIToolbar 的 frame。
这是因为工具栏现在是正确的高度并在您旋转到横向时进行调整,但问题是工具栏的按钮没有顶部对齐,而是垂直居中。我不知道如何设置 contentInsets 或某种方式来在不使用约束的情况下顶部对齐 UIToolbar 按钮。
有什么想法吗?
最佳答案
UIToolbar
会自动填充安全区域。保持工具栏的高度(例如 49pts),并将其定位,使工具栏的底部位于底部安全区域指南的顶部。
self.toolbar.width = self.view.width
self.toolbar.height = 49.0
self.toolbar.bottom = self.view.height - self.view.safeAreaInsets.bottom
以上代码使用了UIView+FrameAdjustments
。
关于ios - 不使用约束的 UIToolbar 的 safeAreaInsets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47494793/