我在创建一个模拟天气应用程序行为的模式搜索视图时遇到了问题。具体来说,有两个动画让我感到困扰并引入了不必要的 0.2 秒延迟:
当模态视图变得可见时,我
UISearchDisplayController.searchBar
通过调用 becomeFirstResponder 将焦点放在viewDidAppear
. 但是,当模态视图滑入时,键盘是不可见的,但在模态视图过渡的动画完成后还需要0.2s才能滑入。将呼叫转移到另一个回调,viewWillAppear
或者viewDidLoad
没有好处,键盘首先不会出现。当用户触摸取消时,在
searchDisplayControllerDidEndSearch
调用委托的方法之前会发生另一个动画,扩展搜索文本字段并“融化”按钮。同样,这个动画是无用的,因为模态视图应该在按钮被触摸时过渡出去。此外,当我关闭并重新呈现相同的视图时,不仅键盘在转换后滑入,而且取消按钮也是如此(幸运的是同时)。
我知道此处描述的类似问题:Keyboard Animation Issues When Calling becomeFirstResponder within a Modal View Controller。但是,搜索栏的行为似乎与文本字段的行为略有不同。我无法重现该作者描述的通过调用使键盘可见的becomeFirstResponder
步骤viewDidLoad
。
问候,克里斯