2010-09-07 63 views
5

我介绍了一个模态视图控制器,它是一个带有导航控制器的标签栏控制器。presentModalViewController上的不同过渡:动画:

问题是我的第一个视图有黑色的背景,我希望新的视图有白色的背景。

这意味着我要么必须具有透明背景的模式视图控制器(直到它显示白色背景时完成“向上滑动”动画)或者我必须将导航控制器背景设置为白色以便使其不透明。

这会导致我在导航栏上出现一个额外的白色条纹(网络状态/电池状态/时间条所在的位置)。我无法摆脱这一点。 :(

所以,如果我可以翻转的视图,或者褪色它,还是从右边或左边或者一些会更好怦然心动了。

有没有办法做到这一点下滑呢?或将我只需要设置“动画:”为NO

感谢

回答

10

我不明白用不同颜色的背景,你的处境是关于你的意见不透明的背景,尤其是动画的人,让?应用程序运行得更快。现在,有关转换,在调用presentModalViewController之前,请插入以下行之一:

modelViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
modelViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
modelViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
modelViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl; 

以上任何一种都会改变过渡样式(尽管PartialCurl会导致最后一个视图的白色位置仍然存在于顶部角落;它似乎没有记录,虽然它被地图应用程序使用)。你可能需要玩什么modalTransitionStyle设置。

从左侧或右侧滑入是导航控制器的一部分。使用导航控制器时,更改背景可能不是您想要的。 。

此外,该模型视图上方额外条即将出现,无论哪种方式,你在过渡这很烦人,但它可以在来如下:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    navigationController.view.frame = CGRectMake(0, 0, 320, 460); //<--This line 
} 
+0

基本上我不想有一个透明的背景 - 但白色的背景显示顶部恼人的白色条纹。最后一点你的答案是我正在寻找的。谢谢 :) – 2010-09-21 08:35:59