类似searchBar的搜索

创建equipmentSearch视图View


#import <UIKit/UIKit.h>


@interface equipmentSearch : UISearchBar


@property (strong,nonatomic) UITextField *searchTextField;


- (id)initWithFrame:(CGRect)frame placeholder:(NSString *)placeholder;


@end



#import "equipmentSearch.h"


@interface equipmentSearch()


<

UITextFieldDelegate

>


@property (strong,nonatomic) UILabel *searchLabel;


@end


@implementation equipmentSearch


- (id)initWithFrame:(CGRect)frame placeholder:(NSString *)placeholder{

    

    self = [superinitWithFrame:frame];

    self.tintColor = [UIColorcolorWithRed:0.262green:0.515blue:1.000alpha:1.000];

    self.searchBarStyle =UISearchBarStyleMinimal;

    

    NSMutableString *blankString = [[NSMutableStringalloc] init];

    

    int numberOfBlankCharacter = frame.size.width *0.2;

    

    for (int i =0; i < numberOfBlankCharacter; i++) {

        //根据searchBar的长度计算应该插入多少个空格占位

        [blankString appendString:@" "];

    }

    

    self.placeholder = blankString;

    self.backgroundColor = [UIColorcolorWithWhite:0.94alpha:1.0];

    

    self.searchTextField = [selfvalueForKey:@"searchField"];

    self.searchTextField.delegate =self;

    self.searchLabel = [[UILabelalloc]initWithFrame:CGRectMake(30,0, 255,30)];

    self.searchLabel.textColor = [UIColorcolorWithWhite:0.418alpha:0.650];

    self.searchLabel.font = [UIFontsystemFontOfSize:14];

    self.searchLabel.text = placeholder;

    [self.searchTextFieldaddSubview:self.searchLabel];

    

    return self;

}


- (void)textFieldDidBeginEditing:(UITextField *)textField{


    [self.searchLabelsetHidden:YES];


}



- (void)textFieldDidEndEditing:(UITextField *)textField{

    

    if (textField.text.length ==0) {

        [self.searchLabelsetHidden:NO];

    }

}


@end



使用


UISearchBarDelegate >

@property (nonatomic,strong)NSString *searchText;


@property (nonatomic)BOOL isSearch;//判断是否在搜索


@property (nonatomic,retain)NSMutableArray *resultArr; //搜索出的结果


_searchBar=[[equipmentSearch alloc]initWithFrame:CGRectMake(0,0, Common_Distance_ScreenWidth, 40) placeholder:@"请输入需要添加的设备名称"];

       

_searchBar.delegate = self;

[self.viewaddSubview:self.searchBar];



#pragma mark - searchBarDelegate

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{

    

    if (searchText.length == 0) {

        _searchText = @"";

        self.isSearch = NO;

        [self.tableView reloadData];

    }

    

    [_resultArr removeAllObjects];

    

    for (NSString *searchStr in _arr) {

        if ([searchStr rangeOfString:searchText].location != NSNotFound) {

            [_resultArr addObject:searchStr];

        }

    }

    

    if (_resultArr.count) {

        self.isSearch = YES;

        [self.tableView reloadData];

    }

}



- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{

    

    return YES;

}


- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{

    

    self.isSearch = NO;

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值