2

在我的项目中,我需要在视图控制器的UIBarButtonItema 中添加两个 s 。NavigationItem我用这段代码解决了这个问题:

UIBarButtonItem saveButton = new UIBarButtonItem("Save", UIBarButtonItemStyle.Bordered, (sender, e) => {
    //一些保存代码...
    });
    UIBarButtonItem delButton = new UIBarButtonItem("Delete", UIBarButtonItemStyle.Done, (sender, e) => {
    //一些删除代码...
    });
    UIBarButtonItem[] 项 = 新 UIBarButtonItem[]
    {
        保存按钮,
        删除按钮
    };
    this.NavigationItem.RightBarButtonItems = 项目;

它在以前版本的 MonoTouch 中工作(在 iOS 5 上,设备和模拟器),但是(我认为是这样)在我升级到 MonoTouch 6 后,只显示数组中的第一个按钮。我尝试使用NavigationItem.SetRightBarButtonItems(items, false)方法,但没有任何效果。

这是一个常见问题还是我做错了什么?

4

2 回答 2

1

这是一个常见问题还是我做错了什么?

Touch.Unit,MonoTouch 的单元测试运行程序RightBarButtonItems,与 MonoTouch 6.0.x 一起使用并正常工作(显示两个按钮)。

OTOH 我在您的代码片段中没有发现任何问题(但它很短)。最好的办法是创建一个小型的、自包含的应用程序来显示您的问题并将其附加到错误报告中。我们将能够查看它并查看问题所在(或者您可能会在执行测试用例时自己发现问题,如果它在您自己的代码中)。

于 2012-10-31T17:10:24.587 回答
1

好的,情况就是这样。我的问题中描述的情况发生在您已经UISegmentedControlnavigationItem.TitleView. 在这种情况下,当你设置navigationItem.RightBarButtonItems了一个数组UIBarButtonItems并且空间不足以显示一个navigationItem.TitleView和两个右按钮时,iOS 只渲染数组的第一个按钮并丢弃另一个。我在本机 ObjC 应用程序中验证了这一点,并得到了相同的行为。

于 2012-11-01T07:29:55.930 回答