苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4568|回复: 5

[综合] 【iOS开发实用框架】搜索页带记录

[复制链接]
发表于 2019-1-8 15:58:10 | 显示全部楼层 |阅读模式
导读

【iOS开发实用框架】基础教程目录    http://www.sufeinet.com/thread-24348-1-1.html
【iOS开发实用框架】实例目录贴    http://www.sufeinet.com/thread-24654-1-1.html


效果:
1.gif

主要代码:

[Objective-C] 纯文本查看 复制代码
#import "SearchVC.h"
#import "CusSearchBar.h"
#import "SearchRecordView.h"

@interface SearchVC (){
    
    CusSearchBar *vSearch;
    
    //猜你喜欢、搜索记录
    SearchRecordView *vRecord;
    NSArray *aryLike;
    NSArray *aryRecord;
    
    NSString *strKeyWord;
    
    
}

@end

@implementation SearchVC


-(void)initData{
    
    aryRecord = [Utility getSearchRecordStringArr];
    aryLike = @[@"平台设计",@"计算机",@"销售管理",@"总经理"];
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    __weak typeof(self)weakSelf = self;
    vSearch =[[CusSearchBar alloc] initWithFrame:CGRectMake(10, 30, Width(260), 28) DidClickSearch:^(NSString *searchText) {
        [weakSelf didClickSearchAction:searchText];
    }];
    vSearch.didBeginInput = ^{
        [weakSelf didBeginEdit];
    };
    vSearch.textField.placeholder = @"请输入关键字";
    [vSearch.textField setPlaceHolderColor:Color_ccc];
    vSearch.textField.font = kFont(13);
    vSearch.imageSize = 18;
    vSearch.tintColor = Color_Blue;
    vSearch.layer.cornerRadius = vSearch.frameHeight/2;
    vSearch.backgroundColor = Color_fff;
//    _vSearch.imgSearch.image = kim;
    //    vSearch.SearchTextAlignmentMiddle = YES;
    [vSearch.textField becomeFirstResponder];
    self.navigationItem.titleView = vSearch;
    
    [self initSearchRecordView];
    [self initRightBarButton];
    
    [self initData];
    
}

#pragma mark - 开始编辑
-(void)didBeginEdit{
    vRecord.hidden = NO;
    
    aryRecord = [Utility getSearchRecordStringArr];
    [vRecord updateViewByLikeArray:aryLike RecordArray:aryRecord];
}

#pragma mark - 搜索事件
-(void)didClickSearchAction:(NSString *)strKey{
    vSearch.textField.text = strKey;
    [vSearch.textField resignFirstResponder];
    if (isNil(strKey)) {
//        showInfoTips(@"请先输入关键字");
    }else{
        strKeyWord = strKey;
        [Utility saveSearchRecordByAddKeyString:strKey];
        vRecord.hidden = YES;
        self.pageIndex = 1;
        [self requestSearchResumeShowHud:YES];
    }
}


-(void)initSearchRecordView{
    
    __weak typeof(self)weakSelf = self;
    vRecord = [[SearchRecordView alloc]initWithFrame:CGRectMake(0, 0, ScreenWidth, FrameHeight)];
    vRecord.aryRecord = aryRecord;
    vRecord.aryLike = aryLike;
    vRecord.didClickSearch = ^(NSString *strKey, NSInteger type) {
        
        [weakSelf didClickSearchAction:strKey];
    };
    [self.view addSubview:vRecord];
}

-(void)initRightBarButton{
    
    UIBarButtonItem *btmCancel = [self setBarButtonItem:@"搜索" ButtonTag:0 ButtonSize:CGSizeMake(40, 40)];
    __weak __typeof (vSearch)weakSearch = vSearch;
    __weak typeof(self)weakSelf = self;
    [self addButtonItemClick:^(UIButton *sender) {
        
        [weakSelf didClickSearchAction:weakSearch.textField.text];
    }];
    self.navigationItem.rightBarButtonItems = @[btmCancel,spaceButtonItem(10)];
}

#pragma mark - 取消

-(void)btmCancelAction{
    [vSearch.textField resignFirstResponder];
    if (isNil(strKeyWord)) {
        popViewController(self, YES);
    }else{
        vRecord.hidden = YES;
    }
}

#pragma mark - 数据请求

//猜你喜欢
-(void)requestGetLikeList{
    
}

//搜索
-(void)requestSearchResumeShowHud:(BOOL)showHud{
    
}


说明:搜索后的视图是个列表视图,只需要根据自己的需求,在Search.m里面实现TableView的相关代理协议即可。搜索记录是保存本地的。猜你喜欢是需要从服务器获取的,可实现requestGetLikeList方法,在相关地方进行调用。

附件: 搜索页带记录.zip (754.62 KB, 下载次数: 2)


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2019-1-8 16:32:59 | 显示全部楼层
我只是路过打酱油的。
发表于 2019-1-8 16:42:44 | 显示全部楼层
强烈支持楼主ing……
发表于 2019-1-8 18:03:07 | 显示全部楼层
我只是路过打酱油的。
发表于 2019-1-8 21:04:43 | 显示全部楼层
无回帖,不论坛,这才是人道。
发表于 2019-1-9 10:57:05 | 显示全部楼层
激动人心,无法言表!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-31 03:28

© 2014-2021

快速回复 返回顶部 返回列表