我有一个带有UINavigationController提供的工具栏的视图。
当我处理UIKeyboardWillShowNotification时,我将整个屏幕向上滚动键盘的高度。 问题是当键盘显示时,底部工具栏没有,所以我需要向上滚动屏幕(keyboard.height - toolbar.height)。
但是如何获得工具栏的高度?
由于
答案 0 :(得分:26)
您应该检查工具栏框架。
self.navigationController.toolbar.frame.size.height
当然,它只适用于你有导航控制器......
答案 1 :(得分:0)
我搜索了类似的解决方案,但在 iPhone X、XS 和未来型号等设备上遇到了问题。例如,在 iPhone XS 上,高度将是 49,但这不是正确的高度。经过一番研究,我想出了另一种检测工具栏高度的解决方案:
目标-C:
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height
CGFloat toolbarTop = self.navigationController.toolbar.frame.origin.y
CGFloat originalHeight = screenHeight - toolbarTop
斯威夫特 5:
let screenHeight = UIScreen.main.bounds.size.height
let toolbarTop = self.navigationController.toolbar.frame.origin.y
let originalHeight = screenHeight - toolbarTop
这将显示另一个号码。例如在 XS 上是 83