Jak*_*čar 6 uiviewcontroller ios
我有一个不是全屏的视图控制器(有一个状态栏),并且想要一个全屏的模态视图控制器.
如果我在动画开始时隐藏状态栏(父视图的viewWillDisappear或模态的viewWillAppear),那么在没有状态栏的情况下父视图将会显示,看起来像一个错误.
如果我在动画结束时(父视图的viewDidDisappear或模态的viewDidAppear)执行此操作,则状态栏将在模态视图上显示片刻,即它不会显示为模态视图"覆盖它".
有没有办法很好地做到这一点?
一种可能性是至少在动画的持续时间内创建一个带有windowLevel = alert的UIWindow.示例iAd广告似乎很好地覆盖了状态栏,没有其他窗口,所以它必须以某种方式.
我在我的应用程序中使用以下代码执行此操作:
[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackOpaque];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation: UIStatusBarAnimationSlide ];
DocumentListViewController * dl = [[DocumentListViewController alloc] initWithNibName:@"DocumentListView" bundle:nil] ;
UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:dl];
[dl release];
// Go to the list of documents...
[[self.view superview] addSubview:nav.view];
nav.view.alpha = 0.0 ;
[self hideActivityAlert];
[UIView animateWithDuration:1.0 animations:^{
nav.view.alpha = 1.0; } completion:^(BOOL A){
[self.view removeFromSuperview];
[self release];} ];
Run Code Online (Sandbox Code Playgroud)
动画发生时,状态栏会短暂显示。
您必须确保当状态栏隐藏时第一个视图将填充该空间。使用具有正确值的 autoresizingMask 属性。
| 归档时间: |
|
| 查看次数: |
3690 次 |
| 最近记录: |