我想提出一個視圖控制器這就是隻使用出示一個視圖控制器是屏幕
[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/