2009-06-24 39 views
0

我需要自定義頁面,在任何事件可自定義的「按鈕菜單窗格」已從底部可見,就像應用程序之一「 Twitterrific「(請參閱截圖)。我試圖通過modalViewController屬性來實現,但它在整個屏幕上填充我的可定製視圖,並且我的父視圖在後臺消失。想要顯示「按鈕菜單視圖」從iphone底部出現iphone

代碼片段:

MyCustomizableButtonMenuContoller *buttonMenucontroller = 
    [[MyCustomizableButtonMenuContoller alloc] init]; 

// To show my customizable button menu from bottom at parent view on any event. 
[self presentModalViewController:buttonMenucontroller animated:YES]; 

//To hide customizable button menu. 
[self dismissModalViewConrollerAnimated:YES]; 

我也試着透明我的自定義按鈕功能表視圖,但它不會對我的要求工作。 UIActionsheet似乎是我正在尋找的一個,但是又有可能使用圖像自定義按鈕嗎?如果在屏幕截圖中有任何其他方法可以實現該方案,請告訴我您的發現或想法。

截圖:

Twitterrific screenshot http://scaline3.appspot.com/Button_menu_pane.png

回答

3

你不想爲此使用模態視圖控制器。您無法通過這種方式實現這種「部分覆蓋」效果,因爲iPhone OS會對嵌套視圖控制器的視圖做出若干假設。

相反,您需要創建一個UIView,其中包含多個UIButton,它最初隱藏在主視圖的底部。當用戶點擊自定義按鈕時,您需要將視圖向上動畫到位。該面板將成爲你的主控制器的一部分,但你的代碼不應該有太大的不同。

如果您剛開始使用Objective-C,則應該閱讀Core Animation文檔。您應該能夠使用非常非常少的代碼將視圖動畫化。這裏有一個例子:

[UIView beginAnimations:nil context: nil]; 
[UIView setAnimationDuration: 0.5]; 
[myDetailPane setFrame:CGRectMake(0, [self bounds].size.height - [myDetailPane bounds].size.height, [myDetailPane bounds].size.width, [myDetailPane bounds].size.height)]; 
[UIView commitAnimations]; 

沒有定時器或視圖的逐步移動是必要的 - 系統會照顧它。

+0

你好本, 謝謝你隊友我的一天;),它通過核心動畫工作有點太棒了。喝彩! – nabeelmukhtar 2009-06-25 13:48:31

0

蘋果公司在其文檔中例子似乎使用導航控制器。這可能會給你一些幫助:Using Modal View Controllers

祝你好運!

+0

感謝Loki的快速回復並分享您的想法,但是我期待通過UIView的動畫獲得什麼。 – nabeelmukhtar 2009-06-25 13:50:29

相關問題