0

几个小时以来,我一直试图找到解决方案,但没有成功。

所以我在全屏演示期间使用此代码“向上移动”导航控制器

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
//viewController.navigationController.view.frame = [[UIScreen mainScreen] bounds];
//viewController.view.frame = [[UIScreen mainScreen] bounds];

//[viewController.view setNeedsDisplay];
NSLog(@"%@",NSStringFromCGRect(viewController.view.frame));
NSLog(@"%@",NSStringFromCGRect(viewController.navigationController.view.frame));

日志结果如下:{{0, 0}, {320, 548}} {{0, 0}, {320, 568}}

正如您在评论部分所看到的......我已经尝试了一些方法来解决这个问题。然而,UIKit 似乎不想更新屏幕定位。

现在,如果我在隐藏状态栏并延迟 0.2 秒后执行此代码......它按预期工作。但是,我每时每刻都能看到空白区域而不是状态栏。

奇怪的是,这段代码执行了一次之后,即使没有延迟,后面也没有问题。它只发生在第一次。

所以我需要一些帮助......不知道还有什么可以尝试的。任何建议都会很棒,非常感谢。

4

0 回答 0