NavigationItem.SetRightBarButtonItems 抛出异常
Posted
技术标签:
【中文标题】NavigationItem.SetRightBarButtonItems 抛出异常【英文标题】:NavigationItem.SetRightBarButtonItems throws exception 【发布时间】:2011-11-15 23:22:22 【问题描述】:如果我在 NavBar 上只设置一个右键,它就可以完美运行。 但是当我尝试设置多个按钮时,它们会出现,但单击它们会引发异常。
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
我做错了什么?
【问题讨论】:
有趣 - 我认为 NavBar 不支持右侧多个按钮 @Jason:这是 ios 5.0 中引入的新功能(我在 4.3 应用程序中尝试使用它时发现了它)。 【参考方案1】:我设法通过创建从UIbarButtonItem
派生的新类并使用 IntPtr 定义构造函数来解决此问题
public class UIBarBtn : UIBarButtonItem
public UIBarBtn(IntPtr handle):base(handle)
public UIBarBtn(UIBarButtonSystemItem si, EventHandler handler):base(si,handler)
现在可以了
【讨论】:
【参考方案2】:看看这个:http://osmorphis.blogspot.com/2009/05/multiple-buttons-on-navigation-bar.html
如果你想为 iOS
久经考验! :D
【讨论】:
以上是关于NavigationItem.SetRightBarButtonItems 抛出异常的主要内容,如果未能解决你的问题,请参考以下文章