UISearchController的obscuresBackgroundDuringPresentation属性不支持iOS8的问题

iOS8以后提供实现搜索功能的SDK:UISearchController,在iOS9中,UISearchDisplayController 已经被UISearchController替代。搜索框是一种常用的控件。今天在做项目的时候,用iPhone5真机测试,搜索框蹦了,蹦在了这个属性obscuresBackgroundDuringPresentation,我点击看了看文档,写的只是支持iOS9.1


宝宝心里苦。。。


    self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];

    UISearchController.barTintColor = DEFAULT_BGCOLOR; // 设置背景颜色

    self.searchController.dimsBackgroundDuringPresentation = NO; 开始搜索时背景是否显示

    self.searchController.hidesNavigationBarDuringPresentation = YES; 搜索时,是否隐藏导航栏

    self.searchController.searchResultsUpdater = self;设置搜索更新时调用的代理

    self.searchController.searchBar.placeholder = @"请搜索人名";

    self.searchController.searchBar.searchBarStyle = UISearchBarStyleProminent;

    


自定义搜索框的颜色 加上下面的话,就可以避免使用iOS8系统obscuresBackgroundDuringPresentation属性引起的崩溃问题


    UIImageView *barImageView = [[[self.searchController.searchBar.subviews firstObject] subviews] firstObject];

    barImageView.layer.borderColor = RGBCOLOR(238, 238, 238).CGColor; // 设置边框颜色

    barImageView.layer.borderWidth = 1; 设置边框大小

    

    self.searchController.searchBar.tintColor = kCommonColor; // 设置取消按钮的颜色

    [self.searchController.searchBar sizeToFit]; 设置搜索框,自适应,否则搜索框无法显示

    

    [lineView addSubview:self.searchController.searchBar];



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值