分享

IOS开发搜索和排序(好友列表 通讯录的实现 searchbar)

 叹落花 2015-05-13
  • 一、效果图:

    \\\\

    二、概述

     实现一个好友列表,可以分为男女两个选项,并且实现搜索和排序功能。我的数据是放在plist文件中。

    三、代码简述

    \

    代码结构如图,首先自定义一个Cell。

    cell.h

    01.#import <uikit uikit.h="">
    02. 
    03.@interface MyCell : UITableViewCell
    04. 
    05.@property (nonatomic,retain) UIButton *tickButton;
    06.@property (nonatomic,retain) UIImageView *selectView;
    07.@property (nonatomic,retain) UIImageView *headView;
    08.@property (nonatomic,retain) UIImageView *iconImageView;
    09.@property (nonatomic,retain) UILabel *nameLabel;
    10.@property(nonatomic,retain)  UILabel *signLabel;
    11. 
    12.- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated;
    13.- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
    14. 
    15.@end</uikit>

    cell.m

    01.#import 'MyCell.h'
    02. 
    03.@implementation MyCell
    04. 
    05.- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
    06.{
    07.self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    08.if (self) {
    09.self.tickButton = [[UIButton alloc]initWithFrame:CGRectMake(11, , 18, 19)];
    10.[self.tickButton setBackgroundImage:[UIImage imageNamed:@'ic_tick_n.png'] forState:UIControlStateNormal];
    11.[self.tickButton setUserInteractionEnabled:NO];
    12.self.selectView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 19, 19)];
    13.self.selectView.image = [UIImage imageNamed:@'ic_-check_s.png'];
    14.self.selectView.hidden = YES;
    15.[self.tickButton addSubview:self.selectView];
    16.[self.contentView addSubview:self.tickButton];
    17. 
    18.self.headView = [[UIImageView alloc] initWithFrame:CGRectMake(43, 14, 32, 32)];
    19.self.headView.tag = 11;
    20.[self.contentView addSubview:self.headView];
    21.self.nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(80, 20, 100, 17)];
    22.self.nameLabel.backgroundColor = [UIColor clearColor];
    23.self.nameLabel.textColor = [UIColor colorWithRed:42.0/255.green:42.0/255.blue:42.0/255.alpha:1.0];
    24.self.nameLabel.font = [UIFont systemFontOfSize:17];
    25.self.nameLabel.numberOfLines = 1;
    26.self.nameLabel.tag = 11;
    27.[self.contentView addSubview:self.nameLabel];
    28.UIImageView *iconImage = [[UIImageView alloc] initWithFrame:CGRectMake(+ , 29, 17, 17)];
    29.iconImage.tag = 13;
    30.iconImage.image = [UIImage imageNamed:@'ic_online@2x.png'];
    31.[self.contentView addSubview: iconImage];
    32. 
    33. 
    34.self.signLabel = [[UILabel alloc] initWithFrame:CGRectMake(160, 15, 120, 30)];
    35.self.signLabel.numberOfLines = 2;
    36.self.signLabel.backgroundColor = [UIColor clearColor];
    37.self.signLabel.font = [UIFont systemFontOfSize:15];
    38.self.signLabel.textAlignment = NSTextAlignmentCenter;
    39.self.signLabel.textColor = [UIColor colorWithRed:156.0/255.green:155.0/255.blue:155.0/255.alpha:1.0];
    40.self.signLabel.tag = 14;
    41.[self.contentView addSubview:self.signLabel];
    42. 
    43.UIImageView *line = [[UIImageView alloc]initWithFrame:CGRectMake(0, 59, 320, 1)];
    44.[line setImage:[UIImage imageNamed:@'line@2x.png']];
    45.[self.contentView addSubview:line];
    46.}
    47.return self;
    48.}
    49. 
    50.- (void)setSelected:(BOOL)selected animated:(BOOL)animated
    51.{
    52.[super setSelected:selected animated:animated];
    53.if (selected) {
    54.[self.selectView setHidden:NO];
    55.} else {
    56.[self.selectView setHidden:YES];
    57.}
    58. 
    59.}
    60. 
    61.-(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
    62.{
    63.if(highlighted) {
    64.[self.selectView setHighlighted:YES];
    65.} else {
    66.[self.selectView setHighlighted:NO];
    67.}
    68.}
    69. 
    70.-(void)dealloc
    71.{
    72.[self.tickButton release];
    73.[self.selectView release];
    74.[self.headView release];
    75.[self.iconImageView release];
    76.[self.nameLabel release];
    77.[self.signLabel release];
    78.[super dealloc];
    79.}
    80. 
    81.@end

    viewController.m

    001.#import 'ViewController.h'
    002.#import 'MyCell.h'
    003.#import 'pinyin.h'
    004. 
    005.@interface ViewController ()
    006. 
    007.@end
    008. 
    009.@implementation ViewController
    010. 
    011.- (void)viewDidLoad
    012.{
    013.[super viewDidLoad];
    014.[self.view setBackgroundColor:[UIColor colorWithRed:231.0/255.green:231.0/255.blue:231.0/255.alpha:1.0]];
    015. 
    016.unlimitBtn = [[UIButton alloc]initWithFrame:CGRectMake(62, + 5, 66, 33)];
    017.unlimitBtn.tag = 201;
    018.[unlimitBtn setBackgroundImage:[UIImage imageNamed:@'ic_option_lt_n@2x.png'] forState:UIControlStateNormal];
    019.[unlimitBtn setBackgroundImage:[UIImage imageNamed:@'ic_option_lt_s@2x.png'] forState:UIControlStateSelected];
    020.[unlimitBtn setTitleColor:[UIColor colorWithRed:156.0/255.green:155.0/255.blue:155.0/255.alpha:1.0] forState:UIControlStateNormal];
    021.[unlimitBtn setTitleColor:[UIColor colorWithRed:255.0/255.green:255.0/255.blue:255.0/255.alpha:1.0] forState:UIControlStateSelected];
    022.[unlimitBtn setTitle:@'不限' forState:UIControlStateNormal];
    023.[unlimitBtn addTarget:self  action:@selector(changeTab:) forControlEvents:UIControlEventTouchUpInside];
    024.[self.view addSubview:unlimitBtn];
    025.unlimitBtn.selected = YES;
    026.type = 2;
    027. 
    028.manBtn = [[UIButton alloc]initWithFrame:CGRectMake(62+66-1, 40+5, 66, 30)];
    029.manBtn.tag = 202;
    030.[manBtn setBackgroundImage:[UIImage imageNamed:@'ic_option_mt_n@2x.png'] forState:UIControlStateNormal ];
    031.[manBtn setTitleColor:[UIColor colorWithRed:156.0/255.green:155.0/255.blue:155.0/255.alpha:1.0] forState:UIControlStateNormal];
    032.[manBtn setBackgroundImage:[UIImage imageNamed:@'ic_option_mt_s@2x.png'] forState:UIControlStateSelected ];
    033.[manBtn setTitleColor:[UIColor colorWithRed:255.0/255.green:255.0/255.blue:255.0/255.alpha:1.0] forState:UIControlStateSelected];
    034.[manBtn setTitle:@'男' forState:UIControlStateNormal];
    035.[manBtn addTarget:self  action:@selector(changeTab:) forControlEvents:UIControlEventTouchUpInside];
    036.[self.view addSubview:manBtn];
    037. 
    038.womanBtn = [[UIButton alloc]initWithFrame:CGRectMake(62+132-2, 40+5, 66, 30)];
    039.womanBtn.tag = 203;
    040.[womanBtn setBackgroundImage:[UIImage imageNamed:@'ic_option_rt_n@2x.png'] forState:UIControlStateNormal ];
    041.[womanBtn setTitleColor:[UIColor colorWithRed:156.0/255.green:155.0/255.blue:155.0/255.alpha:1.0] forState:UIControlStateNormal];
    042.[womanBtn setBackgroundImage:[UIImage imageNamed:@'ic_option_rt_s@2x.png'] forState:UIControlStateSelected ];
    043.[womanBtn setTitleColor:[UIColor colorWithRed:255.0/255.green:255.0/255.blue:255.0/255.alpha:1.0] forState:UIControlStateSelected];
    044.[womanBtn setTitle:@'女' forState:UIControlStateNormal];
    045.[womanBtn addTarget:self  action:@selector(changeTab:) forControlEvents:UIControlEventTouchUpInside];
    046.[self.view addSubview:womanBtn];
    047. 
    048.unlimitBtn.contentEdgeInsets=UIEdgeInsetsMake(-1, 25, 0, 0);
    049.manBtn.contentEdgeInsets=UIEdgeInsetsMake(0, 25, 0, 0);
    050.womanBtn.contentEdgeInsets=UIEdgeInsetsMake(0, 25, 0, 0);
    051.[unlimitBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];
    052.[manBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];
    053.[womanBtn.titleLabel setFont:[UIFont systemFontOfSize:15]];
    054. 
    055.personArray = [[NSMutableArray alloc]init];
    056.filteredArray =  [[NSMutableArray alloc] init];
    057.sectionArray = [[NSMutableArray alloc]init];
    058.userIdArray = [[NSMutableArray alloc]init];
    059.jieheiArr = [[NSMutableArray alloc]init];
    060.breakArr = [[NSMutableArray alloc]init];
    061. 
    062.NSString *path = [[NSBundle mainBundle] pathForResource:@'myinfo' ofType:@'plist'];
    063.[personArray addObjectsFromArray:[NSMutableArray arrayWithContentsOfFile:path]];
    064. 
    065.[self initSearchBar];
    066.[self initTableView];
    067. 
    068.}
    069. 
    070.-(void)initTableView
    071.{
    072.contectTableV = [[UITableView alloc]initWithFrame:CGRectMake(0, 75, 320, self.view.frame.size.height - 75)];
    073.contectTableV.dataSource = self;
    074.contectTableV.delegate = self;
    075.[contectTableV setBackgroundColor:[UIColor colorWithRed:231.0/255.green:231.0/255.blue:231.0/255.alpha:1.0]];
    076.[contectTableV setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@'line@2x.png']]];
    077.[contectTableV setAllowsMultipleSelection:YES];
    078.[self.view addSubview:contectTableV];
    079. 
    080.searchTableV = [[UITableView alloc]initWithFrame:CGRectMake(0, 75, 320, self.view.frame.size.height-75)];
    081.[searchTableV setBackgroundColor:[UIColor colorWithRed:231.0/255.green:231.0/255.blue:231.0/255.alpha:1.0]];
    082.[searchTableV setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@'line@2x.png']]];
    083.searchTableV.delegate = self;
    084.searchTableV.dataSource = self;
    085.[self.view addSubview:searchTableV];
    086.searchTableV.hidden = YES;
    087. 
    088.[self changeGroup];
    089. 
    090.}
    091. 
    092.-(void)initSearchBar
    093.{
    094.searchbar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 320, 40)];
    095.searchbar.backgroundColor = [UIColor clearColor];
    096.searchbar.tintColor = [UIColor blueColor];
    097.searchbar.delegate = self;
    098.for (UIView *subview in searchbar.subviews)
    099.{
    100.if ([subview isKindOfClass:NSClassFromString(@'UISearchBarBackground')]) {
    101.[subview removeFromSuperview];
    102.}
    103.if ([subview isKindOfClass:[UITextField class]]) {
    104.[(UITextField*)subview setBackground:[UIImage imageNamed:@'bg_search.png']];
    105.[(UITextField*)subview setBackgroundColor:[UIColor clearColor]];
    106.[(UITextField *)subview setBorderStyle:UITextBorderStyleNone];
    107.}
    108.}
    109.[self.view addSubview:searchbar];
    110.}
    111. 
    112.-(void)changeTab:(id)sender
    113.{
    114.if([sender tag]==201)
    115.{
    116.type = 2;
    117.unlimitBtn.selected = YES;
    118.manBtn.selected = NO;
    119.womanBtn.selected = NO;
    120.[unlimitBtn setFrame:CGRectMake(62, 45, 66, 33)];
    121.[manBtn setFrame:CGRectMake(62+66-145, 66, 30)];
    122.[womanBtn setFrame:CGRectMake(62+132-245, 66, 30)];
    123. 
    124. 
    125.}
    126.else if([sender tag]==202)
    127.{
    128.type = 0;
    129.unlimitBtn.selected = NO;
    130.manBtn.selected = YES;
    131.womanBtn.selected = NO;
    132.[unlimitBtn setFrame:CGRectMake(62, 45, 66, 30)];
    133.[manBtn setFrame:CGRectMake(62+66-145, 66, 30)];
    134.[womanBtn setFrame:CGRectMake(62+132-245, 66, 33)];
    135. 
    136.}
    137.else
    138.{
    139.type = 1;
    140.unlimitBtn.selected = NO;
    141.manBtn.selected = NO;
    142.womanBtn.selected = YES;
    143.[unlimitBtn setFrame:CGRectMake(62, 45, 66, 30)];
    144.[manBtn setFrame:CGRectMake(62+66-145, 66, 30)];
    145.[womanBtn setFrame:CGRectMake(62+132-245, 66, 33)];
    146. 
    147.}
    148.[self getlistDataWithType:type];
    149.[self changeGroup];
    150. 
    151. 
    152.}
    153.-(void)getlistDataWithType:(int)selectType
    154.{
    155.[personArray removeAllObjects];
    156. 
    157.NSString *path = [[NSBundle mainBundle] pathForResource:@'myinfo' ofType:@'plist'];
    158.NSMutableArray *array = [NSMutableArray arrayWithContentsOfFile:path];
    159.if (selectType == 0)
    160.{
    161. 
    162.for (int i = 0; i < [array count]; i++)
    163.{
    164.if ([[[array objectAtIndex:i]objectForKey:@'sex'] isEqualToNumber:[NSNumber numberWithInt:0]])
    165.{
    166.[personArray addObject:[array objectAtIndex:i]];
    167.}
    168.}
    169.NSLog(@'manArr%@',personArray);
    170.}else if (selectType == 1)
    171.{
    172.for (int i = 0; i < [array count]; i++)
    173.{
    174.if ([[[array objectAtIndex:i]objectForKey:@'sex'] isEqualToNumber:[NSNumber numberWithInt:1]])
    175.{
    176.[personArray addObject:[array objectAtIndex:i]];
    177.}
    178.}
    179.NSLog(@'womanArr%@',personArray);
    180.}else
    181.{
    182.[personArray addObjectsFromArray:array];
    183.}
    184. 
    185.}
    186. 
    187.-(void)changeGroup
    188.{
    189.[sectionArray removeAllObjects];
    190.[userIdArray removeAllObjects];
    191.for (int i = 0; i < 27; i++)
    192.{
    193.[sectionArray addObject:[NSMutableArray array]];
    194.[userIdArray addObject:[NSMutableArray array]];
    195.}
    196.NSString *sectionName;
    197.for (NSDictionary *dict in personArray)
    198.{
    199.if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'曾'])
    200.sectionName = @'Z';
    201.else if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'解'])
    202.sectionName = @'X';
    203.else if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'仇'])
    204.sectionName = @'Q';
    205.else if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'朴'])
    206.sectionName = @'P';
    207.else if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'查'])
    208.sectionName = @'Z';
    209.else if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'能'])
    210.sectionName = @'N';
    211.else if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'乐'])
    212.sectionName = @'Y';
    213.else if([self searchResult:[dict objectForKey:@'nickname'] searchText:@'单'])
    214.sectionName = @'S';
    215.else
    216.sectionName = [[NSString stringWithFormat:@'%c',pinyinFirstLetter([[dict objectForKey:@'nickname'] characterAtIndex:0])] uppercaseString];
    217.NSUInteger firstLetter = [ALPHA rangeOfString:[sectionName substringToIndex:1]].location;
    218.if (firstLetter != NSNotFound)
    219.{
    220.[[sectionArray objectAtIndex:firstLetter] addObject:[dict objectForKey:@'nickname']];
    221.[[userIdArray objectAtIndex:firstLetter] addObject:[dict objectForKey:@'userid']];
    222.}
    223.NSLog(@'changegropsectionArray:%@',sectionArray);
    224.NSLog(@'changegropuserIdArray:%@',userIdArray);
    225.}
    226.[contectTableV reloadData];
    227.[searchTableV reloadData];
    228.}
    229. 
    230. 
    231.#pragma mark -
    232.#pragma mark tableViewDeleagte
    233. 
    234.-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    235.{
    236.if (tableView == contectTableV ) {
    237.return 27;
    238.}
    239.else
    240.{
    241.return 1;
    242.}
    243.}
    244. 
    245. 
    246.//左边的字母快速搜索
    247.- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
    248.{
    249.if(tableView == contectTableV)
    250.{
    251.NSMutableArray *indices = [NSMutableArray arrayWithObject:UITableViewIndexSearch];
    252.for (int i = 0; i < 27; i++)
    253.[indices addObject:[[ALPHA substringFromIndex:i] substringToIndex:1]];
    254.return indices;
    255.}
    256.else
    257.{
    258.return nil;
    259.}
    260. 
    261.}
    262. 
    263.- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
    264.{
    265.if (title == UITableViewIndexSearch)
    266.{
    267.[contectTableV scrollRectToVisible:searchbar.frame animated:NO];
    268.return -1;
    269.}
    270.return [ALPHA rangeOfString:title].location;
    271. 
    272.}
    273. 
    274.- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
    275.{
    276.if(sectionArray.count>0)
    277.{
    278.if ([[sectionArray objectAtIndex:section] count] == 0)
    279.{
    280.return 0;
    281.}
    282.else
    283.{
    284.return 18;
    285.}
    286.}
    287.else
    288.{
    289.return 0;
    290.}
    291. 
    292.}
    293. 
    294.- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    295. 
    296.UIView *headView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 18)];
    297.headView.backgroundColor = [UIColor clearColor];
    298. 
    299.UIView *lineView = [[UIView alloc]initWithFrame:CGRectMake(0, 5, 2, 13)];
    300.[lineView setBackgroundColor:[UIColor colorWithRed:42.0/255.green:42.0/255.blue:42.0/255.alpha:1.0]];
    301.[headView addSubview:lineView];
    302. 
    303.UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 180, 13)];
    304.titleLabel.backgroundColor = [UIColor clearColor];
    305.titleLabel.textColor = [UIColor colorWithRed:77/255.green:44/255.blue:22/255.alpha:1.0];
    306.titleLabel.font = [UIFont systemFontOfSize:15.0];
    307.titleLabel.text = [NSString stringWithFormat:@'%@', [[ALPHA substringFromIndex:section] substringToIndex:1]];
    308.[headView addSubview:titleLabel];
    309.return headView;
    310. 
    311.}
    312. 
    313.- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    314.if (tableView == contectTableV)
    315.{
    316. 
    317.return [[sectionArray objectAtIndex:section] count];
    318.}
    319.else
    320.{
    321.[filteredArray removeAllObjects];
    322.NSLog(@'personarray%@',personArray);
    323.for(NSDictionary *perdict in personArray)
    324.{
    325. 
    326.NSString * name = @'';           
    327.for (int i = 0; i < [[perdict objectForKey:@'nickname'] length]; i++)
    328.{
    329.if([name length] < 1)
    330.name = [NSString stringWithFormat:@'%c',pinyinFirstLetter([[perdict objectForKey:@'nickname'] characterAtIndex:i])];
    331.else
    332.name = [NSString stringWithFormat:@'%@%c',name,pinyinFirstLetter([[perdict objectForKey:@'nickname'] characterAtIndex:i])];
    333.}
    334.if ([self searchResult:name searchText:searchbar.text])
    335.[filteredArray addObject:[perdict objectForKey:@'nickname']];
    336.else
    337.{
    338.if ([self searchResult:[perdict objectForKey:@'nickname'] searchText:searchbar.text])
    339.{
    340.[filteredArray addObject:[perdict objectForKey:@'nickname']];
    341.}
    342.}
    343.}
    344.return filteredArray.count;
    345. 
    346.}
    347. 
    348.}
    349. 
    350.- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    351.{
    352.static NSString *CellIdentifier = @'Cell';
    353.MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    354.if (cell == nil)
    355.{
    356.cell = [[MyCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    357.}
    358.if (tableView == contectTableV)
    359.{
    360.if(personArray.count>0)
    361.{
    362.if(indexPath.row<[[sectionArray objectAtIndex:indexPath.section] count])
    363.{
    364.cell.nameLabel.text = [[sectionArray objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
    365. 
    366.for (NSDictionary *onedict in personArray)
    367.{
    368.if([cell.nameLabel.text isEqualToString:[onedict objectForKey:@'nickname']])
    369. 
    370.{
    371.if ([[onedict objectForKey:@'sex'] isEqualToNumber:[NSNumber numberWithInt:1]])
    372.{
    373.[cell.headView setImage:[UIImage imageNamed:@'bg_man_01@2x.png']];
    374.}
    375.else
    376.{
    377.[cell.headView setImage:[UIImage imageNamed:@'bg_woman_01@2x.png']];
    378.}
    379.if ([[onedict objectForKey:@'sign'] isKindOfClass:[NSNull class]])
    380.{
    381.cell.signLabel.text = @' ';
    382.}
    383.else
    384.{
    385.cell.signLabel.text = [onedict objectForKey:@'sign'];
    386. 
    387.}
    388.}
    389.}
    390.}
    391.}
    392.}
    393.else
    394.{
    395.if(indexPath.row<[filteredArray count])
    396.{
    397.cell.nameLabel.text = [filteredArray objectAtIndex:indexPath.row];
    398.for (NSDictionary *onedict in personArray)
    399.{
    400.if([cell.nameLabel.text isEqualToString:[onedict objectForKey:@'nickname']])
    401.{
    402.if ([[onedict objectForKey:@'sex'] isEqualToNumber:[NSNumber numberWithInt:1]])
    403.{
    404. 
    405.[cell.headView setImage:[UIImage imageNamed:@'bg_man_01@2x.png']];
    406.}
    407.else
    408.{
    409.[cell.headView setImage:[UIImage imageNamed:@'bg_woman_01@2x.png']];
    410.}
    411. 
    412.if ([[onedict objectForKey:@'sign'] isKindOfClass:[NSNull class]])
    413.{
    414.cell.signLabel.text = @' ';
    415.}
    416.else
    417.{
    418.cell.signLabel.text = [onedict objectForKey:@'sign'];
    419. 
    420.}
    421. 
    422.}
    423. 
    424.}
    425.}
    426.}
    427.return cell;
    428.}
    429. 
    430. 
    431. 
    432.- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    433. 
    434. 
    435.NSString *userId = [[NSString alloc]init];
    436.NSString *userName = [[NSString alloc]init];
    437.NSLog(@'useridArr%@',userIdArray);
    438.if (tableView == contectTableV)
    439.{
    440.userId = [[userIdArray objectAtIndex:[indexPath section]]objectAtIndex:[indexPath row]];
    441.[jieheiArr addObject:userId];
    442.[breakArr addObject:userId];
    443.}
    444.else
    445.{
    446.userName = [filteredArray objectAtIndex:[indexPath row]];
    447.NSLog(@'username%@',userName);
    448.for (int i = 0; i < [personArray count]; i++) {
    449.if ([[[personArray objectAtIndex:i]objectForKey:@'nickname'] isEqualToString:userName])
    450.{
    451.userId = [[personArray objectAtIndex:i]objectForKey:@'userid'];
    452.NSLog(@'userId%@',userId);
    453.[jieheiArr addObject:userId];
    454.[breakArr addObject:userId];
    455.}
    456. 
    457.}
    458.}
    459.NSLog(@'jieheiarray%@ --breakarray%@',jieheiArr,breakArr);
    460. 
    461.}
    462. 
    463. 
    464.-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
    465.{
    466.NSLog(@'indexPath section%d and row%d',indexPath.section,indexPath.row);
    467.NSString *userId = [[NSString alloc]init];
    468.userId = [[userIdArray objectAtIndex:[indexPath section]]objectAtIndex:[indexPath row]];
    469. 
    470.[jieheiArr removeObject:userId];
    471.[breakArr removeObject:userId];
    472. 
    473.NSLog(@'jieheiarray%@ --breakarray%@',jieheiArr,breakArr);
    474.}
    475. 
    476.- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    477.return 60;
    478.}
    479. 
    480. 
    481. 
    482.- (void)searchBarTextDidBeginEditing:(UISearchBar *)asearchBar{
    483.//    searchbar.prompt = @'输入字母、汉字或电话号码搜索';
    484.}
    485. 
    486.- (void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
    487.{
    488.if(searchText.length == 0)
    489.{
    490.[searchBar resignFirstResponder];
    491.[searchbar setText:@''];
    492.searchTableV.hidden = YES;
    493.}
    494.else
    495.{
    496.searchTableV.hidden = NO;
    497.[searchTableV reloadData];
    498.}
    499. 
    500.}
    501.- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
    502.{
    503.[searchBar resignFirstResponder];
    504.[searchTableV reloadData];
    505.searchTableV.hidden = NO;
    506.}
    507. 
    508. 
    509.- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
    510.{
    511.[searchbar setText:@''];
    512.searchbar.prompt = nil;
    513.[searchbar setFrame:CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];
    514.contectTableV.tableHeaderView = searchbar;
    515.}
    516. 
    517. 
    518.-(BOOL)searchResult:(NSString *)contactName searchText:(NSString *)searchT
    519.{
    520.NSComparisonResult result = [contactName compare:searchT options:NSCaseInsensitiveSearch range:NSMakeRange(0, searchT.length)];
    521.if (result == NSOrderedSame)
    522.return YES;
    523.else
    524.return NO;
    525.}
    526. 
    527. 
    528.- (void)didReceiveMemoryWarning
    529.{
    530.[super didReceiveMemoryWarning];
    531.}
    532. 
    533. 
    534. 
    535.@end

     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约