1

我正在使用 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;
}
4

1 回答 1

0

由@jonathanpeppers 和 OP 解决

慢速动画是 iOS 模拟器中的一项功能。
要禁用(或启用),请转到 Simulator Menu > Debug > Toggle Slow Animations。( Cmd+ T)。

于 2018-05-13T12:01:40.380 回答