IOS 扁平化且背景透明的搜索框

2020-08-12  本文已影响0人  tino又想吃肉了

前言

我们的目标是获得一个看起来较为“轻快”且能融入白色背景的搜索框。
效果如图


image.png

实现

实现方法其实很简单。

    UISearchController* search = [[UISearchController alloc] initWithSearchResultsController:nil];
    search.searchResultsUpdater = self;
    search.dimsBackgroundDuringPresentation = false;
    search.searchBar.backgroundColor = [UIColor clearColor];
    search.searchBar.placeholder = @"搜索";
    UIView* searchTextField = [[[search.searchBar.subviews firstObject] subviews] lastObject];
    searchTextField.layer.borderWidth = 1;//边框宽度
    searchTextField.layer.borderColor = [UIColor lightGrayColor].CGColor;//边框颜色
    searchTextField.layer.cornerRadius = 10.0f;//边框圆角
for(UIView* view in search.searchBar.subviews)
    {
        if ([view isKindOfClass:NSClassFromString(@"UIView")] && view.subviews.count > 0) {
            [[view.subviews objectAtIndex:0] removeFromSuperview];
            break;
        }
    }
    [search.searchBar sizeToFit];
    self.search.delegate = self;
    self.tableView.tableHeaderView = search.searchBar;
   //这里我的搜索框是在TableView中使用,实际使用添加到你所需要的view上。

结语

最后我们得到了如文章开头给出的搜索框。实际使用中如果你有其他诸如适配黑暗模式的需求,只需要改变一下background颜色即可。你也可以自定义更多搜索框的属性,如文字、颜色或者是搜索图标。


以上
Tino Wu

上一篇下一篇

猜你喜欢

热点阅读