显示UITableView的本地化字母索引

时间:2017-12-19 16:25:12

标签: ios objective-c iphone uitableview alphabetical-sort

是否有显示UITableView的本地化字母索引的视图?意思是如果我改变我的系统语言,索引标题也应该根据所选择的语言改变,并且点击它们应该带我到tableView上的相应部分。

我是一个相对较新的人,我在S.O附近徘徊,但只是设法看到如何显示他们的特定语言说英语,但如果我改变我的系统语言,我希望我的索引标题也改变。

这就是我所做的 -
我有一系列字母

@[@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z",@"#"]

我从

返回
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
    return alphabetArray;
} 

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
  // i go to respective index when i tap on some title
} 

现在有人可以告诉我如何本地化这个。例如韩语有这个系列

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ, #

我知道有类似

的东西
[UILocalizedIndexedCollation currentCollation].sectionTitles.count . 

这将根据当前的语言环境给我标题计数,但我能以某种方式真正使用它。有人可以说明这里可以做些什么吗?

提前致谢!!

1 个答案:

答案 0 :(得分:1)

使用$names = ['Albert', 'Alberto', 'Ana']; $users = DB::table('users'); foreach ($names as $name) { $users->orWhere('name', 'like', $name.'%'); } $users = $users->get(); 就是您想要的。

对于您所做的部分索引标题:

UILocalizedIndexedCollation

然后:

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
    return [UILocalizedIndexedCollation currentCollation].sectionIndexTitles;
}

假设您希望节标题与节索引标题匹配,并且您的数据被分解为适当的部分以匹配,您可以:

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
    return [[UILocalizedIndexedCollation currentCollation] sectionForSectionIndexTitleAtIndex:index];
}