zoukankan      html  css  js  c++  java
  • UITextField 自定义搜索栏

    1,创建UITextField,并且设置代理

    searchField = [[UITextField alloc]initWithFrame:CGRectMake(0,5,320,36)] ;
        searchField.textColor= [UIColor colorWithRed:0.0/255.0 green:103.0/255.0 blue:155.0/255.0 alpha:1.0];
        searchField.font= [UIFont systemFontOfSize:16] ;
        searchField.backgroundColor= [UIColor blueColor];
        //搜索栏内容的位置
        searchField.contentVerticalAlignment=UIControlContentVerticalAlignmentBottom;
        [searchField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; // textField的文本发生变化时相应事件
    //    设置ReturnKeyType为UIRetuirKeySearch;
        [searchField setReturnKeyType:UIReturnKeySearch];
    //    设置UITextField的delegate为self
        searchField.delegate=self;
        mytableView.tableHeaderView = searchField;

    2,搜索就是要做到实时监控输入内容的变化

    - (void) textFieldDidChange:(UITextField*) TextField{
        NSLog(@"textFieldDidChange textFieldDidChange %@", TextField.text);
        
        
        NSString *conditionStr = TextField.text;
        NSLog(@"+++++%@", conditionStr);
        // 2. 创建谓词,准备进行判断的工具
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.nameString CONTAINS [CD] %@ ", conditionStr];
        seachArray = [NSMutableArray arrayWithArray:[allNameArray filteredArrayUsingPredicate:predicate]];
        NSLog(@" searchMuArray  = %@", seachArray);
        
        [mytableView reloadData];
        
        if(![TextField.text isEqualToString:@""]) {
    //        delButton.hidden=NO;  // 仿制searchbar后面的小叉叉
        } else{
    //        delButton.hidden=YES;
        }
    }

    上面的代码只是一个参考 具体实现就是这么做的.

    3,添加取消按钮

    取消不仅仅只是删除UITextField的值,这样,我们还是起不到取消搜索的功能.那么我们应该怎么做呢

    添加一个用于删除的button 具体创建就不写了

    - (void)fieldCancleButton {
         searchField.text = @"";
        [self textFieldDidChange:searchField];
    }

    这是button的点击方法

    同时,我们也要在viewWillAppear:里面调用button的点击方法,这样我们就能做到我们对搜索到的元素操作后,再次进入该页面的时候.保证显示的内容是全部的内容

  • 相关阅读:
    浅谈jQuery easyui datagrid操作单元格样式
    关于翻页之后表格重新加载,之前选中的项丢失的问题处理
    jquery操作复选框(checkbox)的12个小技巧总结
    项目管理学习笔记之四.风险管理
    c#基于udp实现的p2p语音聊天工具
    漫说好管理vs.坏管理
    linux安装tomcat
    wifi共享精灵2014.04.25.001已经更新,wifi热点中文名走起!
    NYOJ 589 糖果
    MacBook Pro安装Photoshop且支持Retina有你们说的那么困难吗!
  • 原文地址:https://www.cnblogs.com/nsjelly/p/4600585.html
Copyright © 2011-2022 走看看