UITableView -- 支持象电话本那样的按首字母索引
来源:互联网 发布:智慧城市大数据 编辑:程序博客网 时间:2024/05/16 10:46
实际上UITableView默认就支持象电话本那样的按首字母索引。 更多关于tableView数据的展示,参考UITableViewDataSource。
实现sectionIndexTitlesForTab
//// AZViewController.m// AZTableView--索引//// Created by AndrewZhang on 14-12-13.// Copyright (c) 2014年 AndrewZhang. All rights reserved.//#import "AZViewController.h"@interface AZViewController ()<UITableViewDataSource,UITableViewDelegate>@property (nonatomic,strong)NSArray *charArray;@end@implementation AZViewController-(NSArray *)charArray{ if (!_charArray) { NSMutableArray *tempArray=[NSMutableArray arrayWithCapacity:26]; for(char c = 'A';c<='Z';c++) { [tempArray addObject:[NSString stringWithFormat:@"%c",c]]; } _charArray=[tempArray copy]; } return _charArray;}- (void)viewDidLoad{ [super viewDidLoad]; UITableView *tableView=[[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; tableView.dataSource=self; tableView.delegate=self; [self.view addSubview:tableView];}//隐藏状态栏-(BOOL)prefersStatusBarHidden{ return YES;}//返回每一组的行数- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ if (section % 2 ==0 ) { return 3; }else { return 4; }}//创建cell- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; switch (indexPath.section) { case 0: { switch (indexPath.row) { case 0:cell.textLabel.text=@"啊";break; case 1:cell.textLabel.text=@"昂啊";break; case 2:cell.textLabel.text=@"嗷嗷嗷";break; default:cell.textLabel.text=@"AA";break; } } break; case 1: { switch (indexPath.row) { case 0:cell.textLabel.text=@"啊";break; case 1:cell.textLabel.text=@"昂啊";break; case 2:cell.textLabel.text=@"嗷嗷嗷";break; default:cell.textLabel.text=@"BB";break; } } break; case 2: { switch (indexPath.row) { case 0:cell.textLabel.text=@"吧";break; case 1:cell.textLabel.text=@"宝宝";break; case 2:cell.textLabel.text=@"不不不";break; default:cell.textLabel.text=@"BB";break; } } break; case 3: { switch (indexPath.row) { case 0:cell.textLabel.text=@"才";break; case 1:cell.textLabel.text=@"出差";break; case 2:cell.textLabel.text=@"擦擦擦";break; default:cell.textLabel.text=@"CC";break; } } break; case 4: { switch (indexPath.row) { case 0:cell.textLabel.text=@"的";break; case 1:cell.textLabel.text=@"弟弟";break; case 2:cell.textLabel.text=@"对对对";break; default:cell.textLabel.text=@"DD";break; } } break; case 5: { switch (indexPath.row) { case 0:cell.textLabel.text=@"额";break; case 1:cell.textLabel.text=@"额额";break; case 2:cell.textLabel.text=@"呃呃呃";break; default:cell.textLabel.text=@"EE";break; } } break; case 6: { switch (indexPath.row) { case 0:cell.textLabel.text=@"飞";break; case 1:cell.textLabel.text=@"飞飞";break; case 2:cell.textLabel.text=@"凤飞飞";break; default:cell.textLabel.text=@"FF";break; } } break; case 7: { switch (indexPath.row) { case 0:cell.textLabel.text=@"个";break; case 1:cell.textLabel.text=@"刚刚";break; case 2:cell.textLabel.text=@"嘎嘎嘎";break; default:cell.textLabel.text=@"GG";break; } } break; case 8: { switch (indexPath.row) { case 0:cell.textLabel.text=@"好";break; case 1:cell.textLabel.text=@"好好";break; case 2:cell.textLabel.text=@"哈哈哈";break; default:cell.textLabel.text=@"HH";break; } } break; case 9: { switch (indexPath.row) { case 0:cell.textLabel.text=@"i";break; case 1:cell.textLabel.text=@"II";break; case 2:cell.textLabel.text=@"嗷嗷嗷";break; default:cell.textLabel.text=@"II";break; } } break; case 10: { switch (indexPath.row) { case 0:cell.textLabel.text=@"J";break; case 1:cell.textLabel.text=@"JJ";break; case 2:cell.textLabel.text=@"JJJ";break; default:cell.textLabel.text=@"JJ";break; } } break; default:cell.textLabel.text=@"other"; break; } return cell;}//有多少组,默认是1组- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return self.charArray.count;}//设置每组的标题- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ if (self.charArray.count==0) { return @""; } return self.charArray[section];}//设置在右边显示索引的标题,例如:ABCDEFG- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ return self.charArray;}//选中索引标题时,跳转到第几组- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{ NSInteger count=0; for (NSString *charTer in self.charArray) { if ([charTer isEqualToString:title]) { return count; } count++; } return 0;}@end
0 0
- UITableView -- 支持象电话本那样的按首字母索引
- UITableVIew实现类似于电话本的首字母索引
- UITableVIew实现类似于电话本的首字母索引
- TableVIew实现类似于电话本的首字母索引
- 象 DEV-Club 那样的彩色校验码
- 转 阿蒙的 象老板那样思考
- 象QQ早上那样的新闻切换
- 并非你所想象的那样
- 实现UITableView汉字拼音首字母索引
- 实现UITableView汉字拼音首字母索引
- UITableVIew实现类似于电话本的首…
- 象骆驼那样生活
- 象聪明人那样说话
- 象老板那样思考
- 象老板那样思考
- 自定义的微信快速索引电话本
- 字符串的getbytes方法不是我想象的那样
- 实现象163那样的填加多个附件
- In war-ravaged Syria, 693 people were killed;
- 从前有棵树,叫高数,树上挂了很多人……
- Q8 武汉吉香缘公司 情况
- Sql Server中日期时间格式化为字符串输出
- ASP.NET MVC 的表单提交
- UITableView -- 支持象电话本那样的按首字母索引
- uinty input
- android ImageSwitch
- 黑马程序员 -- Java基础学习(8)
- poj 1788 Building a New Depot
- 要想混得好,这50句话你不得不读!
- 学习之特征提取SIFT
- Nodejs fs和path模块
- 各种茶叶的功效