我正在使用 monoTouch 使用 UITextField 对应用程序进行编程,该应用程序显示带有结果的弹出框(例如带有一些建议的 Google 搜索中的文本字段)。选择 cellTable 时,我的弹出框将隐藏。一切似乎都正常,但是当我与它进行太多交互时,Popover 延迟了将近 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);
}
这是关闭 Popover 的功能:
public void update(int tag, string selectedChart){
if(popoverController.PopoverVisible){
popoverController.Dismiss (true);
}
popoverController = null;
}