我有资格问这个问题,因为经过近 2 天的谷歌搜索、堆栈溢出等的大型研究......
我的问题是这样的:我正在从我的主 ViewController 中呈现 ViewController,如下所示:
UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:VController];
navigation.transitioningDelegate = self;
navigation.modalPresentationStyle = UIModalPresentationCustom;
[self presentViewController:navigation
animated:YES
completion:nil];
每当 iPhone 用户正在通话或将他或她的手机用作热点时,状态栏会放大,将我的模式呈现的 VC 推到底部,但原点设置为 (0;0) 问题是当用户在通话期间完成通话时他在我的应用程序状态栏中调整为正常大小,但 Modal VC 没有向上移动。
由于此通知,我在代码中发生时就知道了这一点:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statuBarChange:) name:UIApplicationDidChangeStatusBarFrameNotification object:nil];
最糟糕的是帧是正确的并且原点仍然是(0,0)
有没有办法引用模态呈现的 vc ?没有解雇并再次提出?