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;
}