2011-10-31 38 views
1

我正在開發一個基於導航應用程序,我有一個自定義titleview的和我想在我的應用程序的所有導航項目的導航欄一rightBarButtonItem(就像一個標誌和菜單按鈕,你可以從所有視圖訪問)。titleview的和RightBarButtonItem

有手動實現這個,而不是設置每一次我把一個新的viewController於titleview和rightBarButtonItem任何好的做法?我正在使用monotouch.dialog,但歡迎提供任何提示,因爲這看起來更像是一個關於sdk的問題。

Regards,

回答

2

您可能想先問問自己,您是否真的需要需要與UINavigationController直接相關的UINavigationBar,或者是否需要將靜態UIToolbar與您的內容關聯。

或者,你可以做什麼@MartinMoizard指的是子類的UIViewController。我在下面提供了兩個樣本。乾杯!

public class MyToolbar : UIToolbar 
{ 
    public MyToolbar() 
     : base() 
    { 
     var myTitle = MyCustomUIlabel(); 
     var myButton = MyCustomUIButton(); 

     this.SetItems(new UIBarButtonItem[] { 
     myTitle, 
     new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), 
     myButton }); 
    } 
} 


public class MyViewController : UIViewController 
{ 
    public MyViewController() 
     : base() 
    { 
    } 

    public override void ViewDidLoad() 
    { 
     // 
     // .. setup your code hurr' dawg 
     // 

     this.NavigationItem.RightBarButtonItem = myRightButton; 
     this.NavigationItem.Title = "My Title"; 
    } 
} 
+0

感謝的例子!我想我會遵循@ MartinMoizard的方法,因爲我仍然需要在導航控制器上提供後退按鈕。 – madoke

4

這聽起來像繼承會是你的解決方案。

你應該考慮做一個UIViewController母類來處理設置titleView和RightBarButton項目,然後你的應用程序中的所有UIViewController都會繼承該類。

相關問題