UILocalizedIndexedCollat​​ion语言环境与英语不同

时间:2013-05-30 09:14:11

标签: ios tableview locale uilocalizedcollation

我正在使用带有UILocalizedIndexedCollat​​ion的Tableview来显示右侧的索引,但我手机上的语言是瑞典语(svenska),因此我看到一些特殊于瑞典语的特殊字符,如A-Z后的åäö。在A-Z中,有些字符像Q,X等缺失,我相信在Sweidsh语言环境中不存在。

当我点击说出字符“S”时我面临问题,即使在“S”中有条目,它也显示“R”而不是“S”。同样对于最后一个字符“å”,“ä”它分别带我到X和Y,虽然LocalizedIndexedCollat​​ion中没有“X”。

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

韩国版与iOS7 GM相同。

我也检查了日语,但没有我们面临的问题 日语和韩语之间的区别在于排序(link

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

当我检查这个方法时,

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

我可以注意到sectionForSectionIndexTitleAtIndex根据给定的索引异常增加。 Korean ordering

  • sectionForSectionIndexTitleAtIndex增加4(“A”+ 1 - “F”),当“ㄴ” - > “ㄷ”(指数仅增加1)。
  • sectionForSectionIndexTitleAtIndex的增量正在重复。 1,4,1,4 ......

我对这个问题的结论是带有ASCII排序的Unicode中的iOS7错误 所以,我将暂时修改tableView:sectionForSectionIndexTitle:atIndex方法按照我的意图工作。

相关问题