我有一个问题与创建一个模式搜索认为,模拟的行为是天气的应用程序。具体地说,有两个动画,那些困扰我并引入不必要的0.2s延误:

  • 当模式视成为可见的,我得到焦点 UISearchDisplayController.searchBar 通过已经正式发布,允许我们在becomeFirstResponder viewDidAppear.然而,键盘是不可见的,当模式图已经下滑,但需要另一个0.2s滑动后的动画tehe模式图的过渡是完整的。移动电话的另一回调喜欢 viewWillAppearviewDidLoad 没有良好的键盘就不会出现在第一位。

  • 当用户接触取消,还有另外一个动画的地方,以前委托的 searchDisplayControllerDidEndSearch 方法,扩大搜索文字和"融化"里的按钮。再次,这种动画是unneded作为模式来看是应该过渡当的按钮是感动。

  • 此外,当我解雇并重新本同样的观点,不仅键盘滑之后的过渡,但取消按钮不相同(幸运的是同时)。

我知道的一个类似的问题在这里描述: 键盘动画的问题时,呼吁becomeFirstResponder内的一个模式图控制器.然而,这似乎是行为的搜索酒吧是比不同随后的案文领域。我不能重现描述的步骤通过,作者使键盘可见通过调用 becomeFirstResponderviewDidLoad.

问候, 克里斯

有帮助吗?

解决方案

我想我找到了你的答案。当添加一个搜索酒吧使用的接口建设者,你可以做两种方式:"搜索酒吧"、"搜索酒吧和搜索显示控制器"。

我是使用第二次和具有同样的问题你的描述。我只能引用键盘(使用becomeFirstResponder)在"viewDidAppear".但是如果你这样做增加在搜索酒吧工作的。现在我可以打电话给becomeFirstResponder在"viewDidLoad"和键盘出现在一起的观点本身。

我意味着更多的工作,但真的不多。你必须设置你的控制器可以委托的搜索栏。我增加了一个列表查的结果,并做出了我的控制成为其代表及其数据源。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top