Пользовательский интерфейс нарушается из-за вызова по умолчанию в iphone

Мое приложение имеет функциональность вызова. При вызове он переходит в стандартное приложение для телефона. Теперь во время переезда я получаю доступ к моему приложению, в то время мое приложение показывает зеленую панель над навигационной панелью. Если я перейду к следующему подробному экрану, весь пользовательский интерфейс будет нарушен.

Solutions Collecting From Web of "Пользовательский интерфейс нарушается из-за вызова по умолчанию в iphone"

У вас есть три варианта, чтобы исправить свой VC-интерфейс:

Firs: вы можете настроить маски autoresize в коде или строчном кадре.

Второе: использование 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 StatusBarFrame в вашем viewDidLoad :

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

И отрегулируйте свой размер VC в statusBarFrameWillChange и statusBarFrameChanged .