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设置圆角的方式
