iOS tabview添加字母索引的教程
来源:爱站网时间:2020-12-23编辑:网友分享
在iOS中我们都需要在tabview中添加字母索引,但是有很多用户们都不知道如何添加,那么接下来的内容中我们就和爱站小编一起去看看iOS tabview添加字母索引的教程。
在iOS中我们都需要在tabview中添加字母索引,但是有很多用户们都不知道如何添加,那么接下来的内容中我们就和爱站小编一起去看看iOS tabview添加字母索引的教程。
本文实例为大家分享了iOS tabview添加字母索引的具体代码,供大家参考,具体内容如下
文章转载自大神源码传送门
1、将汉字转换成首字母
//系统获取首字母 - (NSString *) pinyinFirstLetter:(NSString*)sourceString { NSMutableString *source = [sourceString mutableCopy]; CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTransformMandarinLatin, NO); CFStringTransform((__bridge CFMutableStringRef)source, NULL, kCFStringTransformStripDiacritics, NO);//这一行是去声调的 return source; }
2、和tabview绑定的方法
#import "ViewController.h" #import "BMChineseSort.h" #import "Person.h" @interface ViewController (){ NSMutableArray*dataArray; } //排序后的出现过的拼音首字母数组 @property(nonatomic,strong)NSMutableArray *indexArray; //排序好的结果数组 @property(nonatomic,strong)NSMutableArray *letterResultArr; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //模拟数据加载 dataArray中得到Person的数组 [self loadData]; //BMChineseSort 文件包含两个对单元格数据和右侧字母的数组排序函数 //根据Person对象的 name 属性 按中文 对 Person数组 排序 //每一个单元格的数据,排序好了的 self.indexArray = [BMChineseSort IndexWithArray:dataArray Key:@"name"]; //左侧的字母数组,已经排序好了 self.letterResultArr = [BMChineseSort sortObjectArray:dataArray Key:@"name"]; UITableView *table = [[UITableView alloc] initWithFrame:self.view.frame]; table.delegate = self; table.dataSource = self; [self.view addSubview:table]; } //加载模拟数据 -(void)loadData{ NSArray *stringsToSort=[NSArray arrayWithObjects: @"李白",@"张三", @"重庆",@"重量", @"调节",@"调用", @"小白",@"小明",@"千珏", @"黄家驹", @"鼠标",@"hello",@"多美丽",@"肯德基",@"##", nil]; //模拟网络请求接收到的数组对象 Person数组 dataArray = [[NSMutableArray alloc] initWithCapacity:0]; for (int i = 0; i Person *p = [[self.letterResultArr objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]; cell.textLabel.text = p.name; return cell; } @end
以上就是iOS tabview添加字母索引的教程,我觉得这需要通过不断的实践和体检,积累丰富的设计经验,才能很好的掌握这门技术。
上一篇:iOS设置圆角的方式