iOS8以后 UISearchController的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS8以后 UISearchController的用法相关的知识,希望对你有一定的参考价值。

查了不少资料,都不太全,自己查看了apple文档,写了一份代码: 如下(只是界面):

1. 声明属性 @property (nonatomic, strong) UISearchController *searchController;

2. 调用方法: [self searchController];

3. 实现: - (UISearchController *)searchController {
    if (!_searchController) {
        _searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
        // searchBar
        _searchController.searchBar.frame = CGRectMake(0, 0, kWidth - 40, 36);
        _searchController.searchBar.placeholder = @"搜索";
        _searchController.searchBar.barTintColor = [UIColor colorWithRed:1.00f green:0.62f blue:0.45f alpha:1.00f];
        // searchBarTextField
        UITextField *searchField = nil;
        searchField = [[_searchController.searchBar.subviews objectAtIndex:0].subviews lastObject];
        searchField.backgroundColor = [UIColor colorWithRed:1.00f green:0.62f blue:0.45f alpha:1.00f];
        UIColor *color = [UIColor whiteColor];
        searchField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"您也可以输入关键字搜索" attributes:@{NSForegroundColorAttributeName:color}];
        
        
        _searchController.view = [[UIView alloc] initWithFrame:CGRectMake(20, 352/2, kWidth - 40, 36)];
        [_searchController.view addSubview:_searchController.searchBar];
        _searchController.view.backgroundColor = [UIColor colorWithRed:1.00f green:0.62f blue:0.45f alpha:1.00f];
        [self.tableHeaderView addSubview:self.searchController.view];
    }
    return _searchController;
}

4. 查看效果:

技术分享

以上是关于iOS8以后 UISearchController的用法的主要内容,如果未能解决你的问题,请参考以下文章

UISearchController

IOS8 UISearchController 直接显示搜索栏

如何在 iOS8 中实现 UISearchController?

UISearchController 未在 iOS8 上显示

防止 UISearchController 在 IOS8 中隐藏视图导航栏

你如何解除 UISearchController ? (iOS 8 及以下)