【问题标题】:How to determine height of the toolbar in UINavigationController?如何确定 UINavigationController 中工具栏的高度?
【发布时间】:2012-07-05 21:53:54
【问题描述】:

我有一个由 UINavigationController 提供的带有工具栏的视图。

当我处理 UIKeyboardWillShowNotification 时,我将整个屏幕向上滚动键盘的高度。 问题是当键盘显示时,底部工具栏没有,所以我只需要向上滚动屏幕(keyboard.height - toolbar.height)。

但是如何获取工具栏的高度呢?

谢谢

【问题讨论】:

    标签: iphone objective-c ios uiview uikit


    【解决方案1】:

    我搜索了类似的解决方案,但在 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

    【讨论】:

      【解决方案2】:

      您只需检查工具栏框架。

      self.navigationController.toolbar.frame.size.height
      

      当然,它只有在你有导航控制器的情况下才有效......

      【讨论】:

        猜你喜欢
        • 2015-06-01
        • 1970-01-01
        • 2011-07-15
        • 2017-02-27
        • 1970-01-01
        • 2015-08-28
        • 2016-03-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多