2

我的应用程序具有调用功能。拨打电话时,它会转到默认电话应用程序。现在在通话期间,我正在访问我的应用程序,当时我的应用程序在导航栏上显示绿色栏。如果我转到下一个详细信息屏幕,所有 UI 都会受到干扰。

4

1 回答 1

2

您可以在这里选择三个选项来修复您的 VC UI:

Firs: 您可以在代码或 strotyboard 中设置自动调整大小的掩码。

二:使用didChangeStatusBarFrame:

- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)newStatusBarFrame {
    if ([UIApplication sharedApplication].statusBarFrame.size.height == 40) {
        // Do adjustment
    }
    else if  ([UIApplication sharedApplication].statusBarFrame.size.height == 20 && oldStatusBarHeight == 40){ // you should keep oldStatusBarHeight 
        // Do adjustment
    }
    else {
        return;
    }
}

第三:在您的注册更改 StatusBarFrame 通知viewDidLoad

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarFrameChanged:) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];
 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarFrameWillChange:) name:UIApplicationWillChangeStatusBarFrameNotification object:nil];

statusBarFrameWillChange并在和中调整您的 VC 大小statusBarFrameChanged

于 2013-08-01T11:16:01.223 回答