1

我正在使用带有 UILocalizedIndexedCollat​​ion 的 Tableview 在右侧显示索引,但我手机上的语言是瑞典语(svenska),因此我在 AZ 之后看到了一些特定于瑞典语的特殊字符,如 å ä ö 。在 AZ 中缺少一些字符,例如 Q、X 等,我认为这些字符在瑞典语言环境中不存在。

当我单击说字符 "S" 时遇到问题,即使 "S" 中有条目,它也会显示部分 "R" 而不是 "S" 。同样对于最后一个字符“å”、“ä”,它分别将我带到 X 和 Y,尽管 LocalizedIndexedCollat​​ion 中没有“X”。

我也遵循了本教程http://benedictcohen.co.uk/blog/archives/230但它并没有解决我的问题。

对此的任何帮助都会很棒。

谢谢。

4

1 回答 1

2

与 iOS7 GM 的韩语相同。

我也检查了日语,但没有我们面临的问题。
日语和韩语的区别在于订购(链接

在韩语中,韩语出现在英语之前。
但是在日语中,当我测试时,英语出现在日语之前。

当我检查这个方法时,

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
    NSLog(@"%i", index);
    NSLog(@"%i", [[UILocalizedIndexedCollation currentCollation] sectionForSectionIndexTitleAtIndex:index]);
}

我可以注意到 sectionForSectionIndexTitleAtIndex 按照给定的索引异常增加。 韩国订购

  • sectionForSectionIndexTitleAtIndex 增加 4 ("A" + 1 - "F"),当 "ㄴ" -> "ㄷ" (索引只增加 1)。
  • sectionForSectionIndexTitleAtIndex 的增量是重复的。1, 4, 1, 4 ...

我对这个问题的结论是 Unicode 中的 iOS7 错误与 ASCII 排序。
因此,我将临时修改 tableView:sectionForSectionIndexTitle:atIndex 方法按我的预期工作。

于 2013-09-23T17:05:15.603 回答