简单使用
1、定义属性
@property (nonatomic, strong) CMemberSearchResultController *resultVC; //自定义的SearchResultsController
@property (nonatomic, strong) UISearchController *searchC;
2、初始化CMemberSearchResultController和UISearchController
self.resultVC = [CMemberSearchResultController new];
self.searchC = [[UISearchController alloc] initWithSearchResultsController:self.resultVC];
self.searchC.searchResultsUpdater = self.resultVC; //protocal协议,这个我们让self.resultVC去处理
self.searchC.searchBar.placeholder = @"搜索";
self.searchC.hidesNavigationBarDuringPresentation = NO; //当present的时候是否隐藏navigationBar;当为NO的时候,点击searchBar,searchBar不会上移到顶部
self.definesPresentationContext = YES; //当present的时候,navigationBar上的子控件时候渲染
[view addSubview: self.searchC.searchBar];
注意点
创建UISearchController
和SearchResultsController
的时候,必须用强引用(属性或成员变量),不能用弱引用(临时变量),不然没有系统的效果
网友评论