1

ツールバー ボタンに UIMenuController を表示しようとしています。以下のコードがありますが、「SetTargetRect」メソッドに何を入れるべきかわかりません。

メニューを表示するには、SetTargetRect メソッドに何を入れればよいですか?

このコードに他に欠けているものはありますか?

ToolbarItems = new UIBarButtonItem[] { 
new UIBarButtonItem ("Sort", UIBarButtonItemStyle.Bordered, (sender, e) => {
    var menu = UIMenuController.SharedMenuController;
    menu.MenuItems = new UIMenuItem[] {
        new UIMenuItem ("Current", new Selector ("SortRaceEntrants")),
        new UIMenuItem ("Movers", new Selector ("SortRaceEntrants")),
        new UIMenuItem ("Opening", new Selector ("SortRaceEntrants")),
        new UIMenuItem ("Number", new Selector ("SortRaceEntrants"))
    };
    //menu.SetTargetRect ();
    menu.SetMenuVisible (true, true);
}),
};
4

2 に答える 2

0

API docsによると、ターゲット rect は、メニューを表示する領域を定義します。iOS は、TargetRect で定義された領域の上または下にメニューを表示します。

このメニューを表示すると、UIMenuController は画面上のターゲットの四角形を基準にしてメニューを配置します。通常、この長方形は選択範囲を定義します。メニューはターゲットの四角形の上に表示されますが、十分なスペースがない場合は下に表示されます。メニューのポインターは、必要に応じて、ターゲットの四角形の上部または下部の中央に配置されます。メニューを表示する前に、必ず追跡用の四角形を設定してください。また、選択内容の検出、追跡、および表示も担当します。

通常、このターゲット四角形 (targetRect) は、選択範囲の境界四角形です。UIMenuController は、この四角形の上に編集メニューを配置します。そこにメニュー用の十分なスペースがない場合は、長方形の下に配置されます。メニューのポインターは、必要に応じてターゲット四角形の上部または下部の中央に配置されます。ターゲットの四角形の幅または高さをゼロにすると、UIMenuController はターゲット領域を配置用の線または点 (たとえば、挿入キャレットまたは単一の点) として扱うことに注意してください。

設定すると、ターゲットの四角形はビューを追跡しません。ビューが移動する場合 (スクロール ビューで発生する場合など)、それに応じてターゲットの四角形を更新する必要があります。

于 2012-07-06T01:43:11.473 に答える