来自按钮的 UISearchDisplayController 不是默认搜索字段
UISearchDisplayController from a button not the default search field
我想知道是否可以从导航栏中的按钮激活 UISearchDisplayController,而不是从 Xcode 中的对象库中拉出搜索栏控制器时获得的标准搜索栏.喜欢日历应用程序中的这个功能:
你可以获得一个按钮来触发一个动作,如下所示:
[self.searchDisplayController setActive:YES animated:YES];
但您仍然需要搜索栏,它会根据搜索栏所在的位置进行动画处理。理想情况下,我希望它像 gif 中那样从顶部进入。
非常感谢任何帮助。大卫.
老问题,但我有一个答案,所以我认为值得重温...
最终我使用了 UISearchController 而不是 UISearchDisplayController。
如果您想激活搜索,但不想要搜索栏,您只需使用
激活搜索
self.searchController.active = YES;
然后因为没有搜索栏,您必须自己实现 presentSearchController: UISearchControllerDelegate 协议的方法。
- (void)presentSearchController:(UISearchController *)searchController {
[self.window.rootViewController presentViewController:self.searchController animated:YES completion:nil];
}
它的动画不太一样,但我确信使用通常的视图控制器动画api我可以获得类似的效果。
我想知道是否可以从导航栏中的按钮激活 UISearchDisplayController,而不是从 Xcode 中的对象库中拉出搜索栏控制器时获得的标准搜索栏.喜欢日历应用程序中的这个功能:
[self.searchDisplayController setActive:YES animated:YES];
但您仍然需要搜索栏,它会根据搜索栏所在的位置进行动画处理。理想情况下,我希望它像 gif 中那样从顶部进入。
非常感谢任何帮助。大卫.
老问题,但我有一个答案,所以我认为值得重温...
最终我使用了 UISearchController 而不是 UISearchDisplayController。
如果您想激活搜索,但不想要搜索栏,您只需使用
激活搜索self.searchController.active = YES;
然后因为没有搜索栏,您必须自己实现 presentSearchController: UISearchControllerDelegate 协议的方法。
- (void)presentSearchController:(UISearchController *)searchController {
[self.window.rootViewController presentViewController:self.searchController animated:YES completion:nil];
}
它的动画不太一样,但我确信使用通常的视图控制器动画api我可以获得类似的效果。