2

私のプロジェクトでは、View Controllerの に 2 つUIBarButtonItemのを追加する必要があります。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

OK、これがケースです。私の質問で説明されている状況は、既に戻るボタンといくつかのカスタム ビュー (つまりUISegmentedControl、インスタンス) がnavigationItem.TitleView. この場合、navigationItem.RightBarButtonItemsの配列で設定し、右ボタンと右ボタンの両方UIBarButtonItemsを表示するにはスペースが足りない場合navigationItem.TitleView、iOS は配列の最初のボタンのみをレンダリングし、もう一方のボタンを破棄します。ネイティブの ObjC アプリケーションでこれを確認したところ、同じ動作が得られました。

于 2012-11-01T07:29:55.930 に答える
1

それは一般的な問題ですか、それとも何か間違っていますか?

MonoTouch の単体テスト ランナーである Touch.Unit は、MonoTouch 6.0.x でRightBarButtonItems正しく使用および動作します (両方のボタンが表示されます)。

OTOH あなたのコード スニペットには何も問題はありません (ただし、短いものです)。最善の策は、問題を示す小さな自己完結型のアプリケーションを作成し、それをバグ レポートに添付することです。私たちはそれをレビューし、何が問題なのかを確認することができます (または、テスト ケースを実行するときに、問題が自分のコード内にある場合は、自分で問題を見つけることができます)。

于 2012-10-31T17:10:24.587 に答える