我想提出一个视图控制器这就是只使用出示一个视图控制器是屏幕
[self presentModalViewController:menu animated:YES];
问题是,当它呈现高度的一半的一半大小,视图控制器结束同大小作为屏幕。 我也尝试使'菜单'的屏幕的全尺寸,并将视图的透明度更改为白色,但这也不起作用。
我想提出一个视图控制器这就是只使用出示一个视图控制器是屏幕
[self presentModalViewController:menu animated:YES];
问题是,当它呈现高度的一半的一半大小,视图控制器结束同大小作为屏幕。 我也尝试使'菜单'的屏幕的全尺寸,并将视图的透明度更改为白色,但这也不起作用。
只需使用核心动画或动画过渡与一个UIView是屏幕尺寸的一半。您需要添加到主视图的持有者视图。
将半视图放置在屏幕下方(halfView.y = 480或320,具体取决于方向)。
向上动画。
事情是这样的,也许:
// set up an animation for the transition between the views
CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromBottom];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[holderView addAnimation:animation forKey:@"SwitchToView1"];
在iPhone和iPod touch设备上,modalViewController的 视图始终是全屏显示的 。在iPad上, 演示文稿取决于 中的值modalPresentationStyle属性。
如果你想只覆盖屏幕的某些部分,你可以使滑动的UIView的容器,无论您想要显示在屏幕上的位置的动画。
我建议你阅读这篇文章:Transparent Modal View on Navigation Controller
“我试图使视图背景 白”
这将definitley不工作,你可能已经但是写[UIColor clearColor]
,动画完成时,模态窗口覆盖的视图控制器视图将从屏幕上消失。所以如果你把背景变成白色,你最终可能会看到窗户背景,而不是你想要的。
你真的不想尝试使用UIViewController来做到这一点。将UIView添加到当前控制器的视图中,如果它需要管理其行为,则为该视图提供它自己的非UIViewController控制器对象。
我介绍了一些细节上如何你正在尝试做的是通过的UIViewController这里提供的合同之外:http://blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/