来自按钮的UISearchDisplayController不是默认搜索字段

时间:2015-01-02 18:18:02

标签: ios ios8 uisearchdisplaycontroller

我想知道是否可以从导航栏中的按钮激活UISearchDisplayController,而不是从Xcode中的对象库中拔出搜索栏控制器时获得的标准搜索栏。喜欢日历应用中的此功能:

UISearchDisplayController in the Calendar app 你可以得到一个按钮来触发这样的动作:

[self.searchDisplayController setActive:YES animated:YES];

但是你仍然需要搜索栏,它会从搜索栏的位置开始动画。理想情况下,我喜欢它像gif一样从顶部进入。

任何帮助非常感谢。大卫。

1 个答案:

答案 0 :(得分:7)

老问题,但我有一个答案所以我认为值得重新审视......

最后我使用了UISearchController而不是UISearchDisplayController。

如果你想激活搜索,但又不想要搜索栏,你只需要用它来激活搜索

self.searchController.active = YES;

然后因为没有搜索栏你必须自己实现presentSearchController:UISearchControllerDelegate协议的方法。

- (void)presentSearchController:(UISearchController *)searchController {
   [self.window.rootViewController presentViewController:self.searchController animated:YES completion:nil];
}

它没有相同的动画,但我确信使用通常的视图控制器动画api我可以得到类似的工作。