【问题标题】:Height of Status Bar with Call notification带有呼叫通知的状态栏高度
【发布时间】:2014-02-24 02:49:44
【问题描述】:

我想获取状态栏的高度。这个我正常使用

[UIApplication sharedApplication].statusBarFrame.size.height

但是当我在模拟器中按 Cmd + Y 时,会出现呼叫状态栏,并且我的 View Controller 会向下移动。

有没有像顶部这样的函数来获取这个通话状态栏的高度?

谢谢

【问题讨论】:

    标签: ios objective-c statusbar


    【解决方案1】:

    根据 Apple 文档:

    UIApplicationWillChangeStatusBarFrameNotification

    发布时应用 即将更改状态栏的框架。 userInfo 字典包含一个 NSValue 对象,该对象封装了一个 CGRect 表示新状态栏位置和大小的结构 框架。使用UIApplicationStatusBarFrameUserInfoKey 访问此 价值。

    访问状态栏新框的CGRect后,可以算出“调用状态栏”的高度等于{frame of status bar}.origin.y

    【讨论】:

      【解决方案2】:
      // ObjC
      - (void) application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame
      {
          NSLog(@"Status bar height %f", CGRectGetHeight(newStatusBarFrame));
      }
      
      // Swift
      func application(_ application: UIApplication, willChangeStatusBarFrame newStatusBarFrame: CGRect) {
            print(newStatusBarFrame)
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多