2011-11-15 210 views
1

如果我在NavBar上只設置了一個右鍵,它可以很好地工作。 但是,當我試圖設置多個按鈕時,他們出現了,但點擊它們會拋出異常。NavigationItem.SetRightBarButtonItems拋出異常

EventHandler pickPhotoClickHandler = (s,e) => {}; //Do nothing 
var pickPhotoBtn = new UIBarButtonItem(UIBarButtonSystemItem.Camera, pickPhotoClickHandler); 

EventHandler sendBtnClickHandler = (s, e) => {}; //Do nothing 
var sendBtn = new UIBarButtonItem (UIBarButtonSystemItem.Done, sendBtnClickHandler); 

NavigationItem.SetRightBarButtonItem (pickPhotoBtn, animated:true); // This works 

var btns = new UIBarButtonItem[]{sendBtn,pickPhotoBtn}; // This doesn't 
NavigationItem.SetRightBarButtonItems(btns,true);  // go very far 

我在做什麼錯?

+0

有趣 - 我不認爲NavBar支持右側多個按鈕 – Jason

+0

@Jason:這是iOS 5.0中引入的新功能(當我嘗試在4.3應用程序中使用它時發現了這一功能) 。 –

回答

1

我設法用IntPtr的創建從UIbarButtonItem派生新類和定義構造函數來解決這個問題

public class UIBarBtn : UIBarButtonItem{ 
     public UIBarBtn(IntPtr handle):base(handle){} 
     public UIBarBtn(UIBarButtonSystemItem si, EventHandler handler):base(si,handler){} 
} 

現在,它的工作原理