小谈iOS中搜索引擎的实现以及对应问题的解决

2018-12-27  本文已影响13人  大神风格化X
镇山之宝.jpeg

最近做了一款有关于对中国城市索引的功能APP,里面涉及到有关于UISearchBar控件的使用。
首先我们将这个控件放到咱们的视图上会发现出现异常灰线,那么如何去掉这个灰线呢?

float version = [[[UIDevice currentDevice]systemVersion]floatValue];    
    if([_searchBar respondsToSelector:@selector(barTintColor)]) {
        float iosversion7_1 = 7.1;        
        if(version >= iosversion7_1){
            [[[[_searchBar.subviews objectAtIndex:0]subviews]objectAtIndex:0]removeFromSuperview];          
            [_searchBar setBackgroundColor:[UIColor clearColor]];          
        }
        else{//iOS7.0
            [_searchBar setBarTintColor:[UIColor clearColor]];
            
            [_searchBar setBackgroundColor:[UIColor clearColor]];
        }
    }
    
    else{
        //iOS7.0以下
        
        [[_searchBar.subviews objectAtIndex:0]removeFromSuperview];
        
        [_searchBar setBackgroundColor:[UIColor clearColor]];
        
    }

从代码中可以看出灰线出现的原因是系统造成的,7.0前后的去除方法也不一样。

那么下一步就是实现UISearchBar的代理方法

NSMutableArray *smallDataArr = [NSMutableArray array];
     for (AutoAddressModel *model in self.smallDataArr) {
        if ([model.company_name rangeOfString:searchStr].location != NSNotFound || [model.address rangeOfString:searchStr].location != NSNotFound || [model.phone rangeOfString:searchStr].location != NSNotFound) {
            [smallDataArr addObject:model];
        }
    }   
    self.dataArr = smallDataArr.copy;
    [self.tableView reloadData];

将类似上述代码扣入方法中就能实现实时搜索用户所需的条目信息。
其实这块的逻辑还是很简单的,本文就说到这里。有喜欢的小伙伴不妨就点一下关注,希望我能为大家更多的便利,☺

上一篇下一篇

猜你喜欢

热点阅读