iOS分享之路-快速开发电商平台iOS电商开发封装

iOS分享之路-快速搭建电商平台】十九、带热门和历史的搜索框

2017-03-14  本文已影响6696人  全栈攻城狮DWQ
DWQ-LOGO.jpeg

引述

在已上架的上百万个APP中,估计会有60%以上的app带有搜索功能🔍;用到搜索,我想大多数开发者首先会想到的是UISearchBar控件,UISearchBar是在iOS6之后加入的,那么之前搜索框的是用UITextfield实现的。今天要分享的这个带搜索历史和热门的搜索框就是基于UITextfield的。其实,虽然说是带搜索框和热门。SerchBar完全可以和下面的热门和历史分开。

DWQSearchWithHotAndHistory组成

DWQSearch.png

DWQSearchWithHotAndHistory的实现:


 /** 如果新的tagLab超出屏幕边界 */
        if (previousFrame.origin.x + previousFrame.size.width + textStrSize.width + HORIZONTAL_MARGIN > self.bounds.size.width) {
            newRect.origin = CGPointMake(10, previousFrame.origin.y + textStrSize.height + VERTICAL_MARGIN);
            totalHeight += textStrSize.height + VERTICAL_MARGIN;
        }
        else {
            newRect.origin = CGPointMake(previousFrame.origin.x + previousFrame.size.width + HORIZONTAL_MARGIN, previousFrame.origin.y);
        }
        newRect.size = textStrSize;
        [tag setFrame:newRect];
        previousFrame = tag.frame;
        [self setHight:self andHight:totalHeight + textStrSize.height];

DWQSearchWithHotAndHistory的使用

  self.view.backgroundColor=[UIColor whiteColor];
    DWQSearchBar *bar = [[DWQSearchBar alloc] initWithFrame:CGRectMake(0, 0, DWQMainScreenWidth - 100, 30)];
    bar.layer.cornerRadius=15;
    bar.layer.masksToBounds=YES;
    bar.placeholder=@"输入要学习的语言";
    _searchBar = bar;
    
    bar.delegate = self;
    self.navigationItem.titleView = bar;


 /**
     *  造热门搜索的假数据
     */
    self.historyArr = [NSMutableArray arrayWithObjects:@"C语言",@"C#",@"HTML5",@"objective-c?"@"Swift", nil];
    
    self.HotArr = [NSMutableArray arrayWithObjects:@"你想要搜索什么呢",@"web编程",@"JAVA8",@"JAVAVEE",@"Objective-c",@"SWift",@"iOS分享之路",@"MacBokPro",@"iOS直播",@"APPLE", nil];

#pragma mark -- 懒加载
-(UITableView *)tableview
{
    if (!_tableview) {
        self.automaticallyAdjustsScrollViewInsets = NO;
        _tableview = [[UITableView alloc] initWithFrame:CGRectMake(0, 64, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height) style:UITableViewStylePlain];
        _tableview.delegate = self;
        _tableview.dataSource = self;
        _tableview.separatorStyle = UITableViewCellSeparatorStyleNone;
        [_tableview registerClass:[HotSerachCell class] forCellReuseIdentifier:HotCellID];
        [_tableview registerNib:[UINib nibWithNibName:@"HistorySearchCell" bundle:nil] forCellReuseIdentifier:HistoryCellID];
        _tableview.backgroundColor = [UIColor colorWithWhite:0.934 alpha:1.000];
    }
    return _tableview;
}

DWQSearchWithHotAndHistory效果展示

DWQSearch.gif

DWQSearchWithHotAndHistoryDemo下载地址

DWQSearchWithHotAndHistory

广大书友记得点个赞👍,在GitHub给个Star哦~!

上一篇下一篇

猜你喜欢

热点阅读