iphone - 由于 iPhone 中的默认调用,UI 受到干扰

标签 iphone ios ios6

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

最佳答案

这里您有三种选择来修复 VC UI:

首先: 您可以在代码或 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;
    }
}

第三:viewDidLoad 中注册 Change StatusBarFrame 通知:

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

并在 statusBarFrameWillChangestatusBarFrameChanged 中调整 VC 大小。

关于iphone - 由于 iPhone 中的默认调用,UI 受到干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992099/

相关文章:

iphone - 如何为 iPhone 找出合适尺寸的背景图片

ios - 无法在 collectionView 中调用 dequeueReusableCellWithReuseIdentifier(collectionView : collectionViewLayout: sizeForItemAtIndexPath)

ios - 全局设置 iOS 自动时间

objective-c - NSDateFormatter dateFromString与日期

objective-c - 如何将依赖项注入(inject) iOS View Controller ?

iphone - 检查照片库的授权状态

iPhone 5 无法正常显示应用程序

iphone - 如何在 UIScrollView 中找到 UIImageView 的缩放因子

iphone - 将实例变量添加到 NSData

iphone - 如何从后台线程中获取/设置全局变量(BOOL)? (Xcode)