1

monoTouch を使用して、ポップオーバーに結果を表示する UITextField を使用してアプリをプログラムしています (Google 検索のテキスト フィールドのようにいくつかの推奨事項があります)。cellTable が選択されると、ポップオーバーが非表示になります。すべてが正常に機能しているように見えますが、私がそれを頻繁に操作すると、ポップオーバーが消えるまでに約 4 秒かかります。これはユーザーにとって不満です。

ポップオーバーを表示するコードは次のとおりです。

partial void showPopover (MonoTouch.Foundation.NSObject sender){
            UITextField from = (UITextField)sender;

            string[] tableItems = {"aaaa","bbbb"};
            var tableController = new UITableViewController();
            var navigationC = new UINavigationController(tableController);

            tableController.Title = from.Placeholder;//dinamico
            UITableView table = new UITableView(from.Frame);
            tableController.View = table;
            table.Source = new PopoverTableSource(tableItems);
            if( popoverController == null ){
                popoverController = new UIPopoverController(navigationC);
                popoverController.PopoverContentSize = new SizeF (320, 320);
            }
            else{
                popoverController.SetContentViewController(navigationC,true);
            }

            popoverController.PresentFromRect (from.Frame, View, UIPopoverArrowDirection.Up, true);
        }

そして、ポップオーバーを閉じる関数は次のとおりです。

public void update(int tag, string selectedChart){
            if(popoverController.PopoverVisible){
                popoverController.Dismiss (true);
            }
            popoverController = null;
}
4

1 に答える 1