Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带有呼叫通知的状态栏的高度_Ios_Objective C_Statusbar - Fatal编程技术网

Ios 带有呼叫通知的状态栏的高度

Ios 带有呼叫通知的状态栏的高度,ios,objective-c,statusbar,Ios,Objective C,Statusbar,我想获得状态栏的高度。这是我平时用的 [UIApplication sharedApplication].statusBarFrame.size.height 但当我在模拟器中按Cmd+Y时,调用状态栏出现,我的视图控制器将向下移动 是否有类似于顶部的函数来获取此调用状态栏的高度 谢谢根据苹果的文档: UIApplicationWillChangeStatusBarFrameNotification 在应用程序启动时发布 即将更改状态栏的框架。userInfo 字典包含一个NSValue对象,

我想获得状态栏的高度。这是我平时用的

[UIApplication sharedApplication].statusBarFrame.size.height
但当我在模拟器中按Cmd+Y时,调用状态栏出现,我的视图控制器将向下移动

是否有类似于顶部的函数来获取此调用状态栏的高度


谢谢

根据苹果的文档:

UIApplicationWillChangeStatusBarFrameNotification

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

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

// 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)
}