问题标签 [uilocalizedcollation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
269 浏览

ios - UILocalizedIndexedCollat​​ion 不适用于非英文/中文索引

我使用 UILocalizedIndexedCollat​​ion(在应用程序中支持英文、中文字符)创建了一个带有部分的表格视图。这在 iOS6 中运行良好。现在在 iOS7 和 iOS7.1 中,这个功能不工作了。

行为:

  • iOS6 和 iOS7 创建的索引不同。在iOS7中,中文索引以数字开头(1-4-8-后跟ACK),而在iOS6中,它以(ACK后跟1-4-8)开头。
  • 最后,点击部分索引不会将其带到正确的部分。它仅适用于 iOS7 的英语而不适用于中文(在 iOS6 中它适用于两者)。

预期:它应该根据所选索引指向正确的部分或下一个最近的索引。

对此的任何修复或相同的替代修复?

相关链接:UILocalizedIndexedCollat​​ion 区域设置不同于英语

0 投票
0 回答
164 浏览

ios - 具有不同语言环境的 UILocalizedIndexedCollat​​ion

我知道这是一个很长的镜头,但有谁知道是否可以将 UILocalizedIndexedCollat​​ion 与不是设备语言环境的语言环境一起使用?

即设置为中文的手机想要用英文查看我的应用程序 - 奇怪的是,这是我们用户的真实(和常见)请求!)

0 投票
1 回答
195 浏览

ios - 是否可以使用 UICollectionView 进行 UILocalizedIndexedCollat​​ion?

是否可以使用 UICollectionView 进行 UILocalizedIndexedCollat​​ion?我正在使用 UICollectionView 来显示数据,但我想像 iOS 联系人一样使用 UILocalizedIndexedCollat​​ion。我没有找到办法

0 投票
0 回答
82 浏览

ios - NSFetchedResultsController 和 UILocalizedIndexCollat​​ion

我想在 aUITableView的帮助下填充 a NSFetchedResultsController。我希望表格视图具有实体标题中第一个字母的部分。表格视图的右侧也应该有一个索引列表。

这是我的实体的样子:

我的第一个计划是拥有一个返回标题中第一个字母的瞬态属性:

问题是它会给你不同的“2”和“3”部分,例如,我想要一个名为“#”的部分中的所有数字和符号,就像UILocalizedIndexCollation给你的一样。

但是哪些字母应该属于“#”类别?当然,这取决于语言,在英语中“Ö”应该属于另一个类别,但在瑞典语中它应该属于自己的类别。所以我想也许我应该NSLocalizedIndexCollation改用。这是该代码:

它被调用-viewWillAppear:,之后我重新加载我的表格视图。数据源方法设置正确,并确保没有空白部分。

这个解决方案有两个问题。第一个是它需要大量的代码(比我向您展示的代码段要多得多)才能工作。第二个更严重的问题是性能很差。每次视图出现时,都必须重新计算部分,因为影响它的某些东西可能已经改变。10k 本书花了 30 秒,这是不可接受的。

我想我需要一个以巧妙的方式结合NSFetchedResultsController起来的解决方案。UILocalizedCollation这是我需要的解决方案:

  • 根据标题中的第一个字母将书籍分成几部分
  • 最后应该存在一个“其他”类别('#')
  • 没有空白部分
  • 右侧的索引列表,所有可能的字母 + '#' 最后
  • 高性能,至少在第一次出现视图之后
0 投票
1 回答
623 浏览

ios - UILocalizedIndexedCollat​​ion UITableView 索引列表排序

我正在创建一个UITableView用户联系人列表。我已成功导入联系人列表,并将它们作为字典存储在数组中,其中包含每个联系人的名字、姓氏和 ID 参考。我正在尝试实现UITableView's索引列表功能。

尝试将数组分区到表 index 中的不同部分时,我遇到了问题UILocalizedIndexedCollation。具体由选择器。我希望能够选择是按名字还是姓氏对名称进行排序。

0 投票
1 回答
458 浏览

ios - 带有字符串数组的 UILocalizedIndexedCollat​​ion

uniqueOrganizationsArray[String]类型。

String我应该在对象上使用什么选择器?

0 投票
1 回答
709 浏览

ios - 使用 UILocalizedIndexedCollat​​ion sectionForObject:collat​​ionStringSelector 的动态选择器

使用 UILocalizedIndexedCollat​​ion 时需要动态设置选择器在我的应用程序中,我有以下代码:

mainTitle 是 myObject 中的众多属性之一。但是,我希望选择器可以使用任何字符串。我遵循了这个站点的提示: UILocalizedIndexedCollat​​ion 的 sectionForObject:(id)object collat​​ionStringSelector:(SEL)selector 方法中选择器的作用是什么,并介绍了以下内容:

这导致崩溃并出现错误:[MyObject myString]: unrecognized selector sent to instance ...

添加动态选择器的正确方法是什么?

0 投票
0 回答
678 浏览

ios - 像在联系人应用程序中一样对中文联系人进行排序

我正在制作一个带有联系人的 iOS 应用程序,我想以与 iPhone 联系人应用程序相同的方式对联系人进行排序。

What I mean is that if the contact is 试命名, (which according to Google Translate translates to Test Name) this is sorted under letter S in the Contacts.app when the chosen iPhone language is Chinese (Simplified).

因此,Contacts.app 知道如何将中文字符映射到它们在英文字母表中的拼音对应。我将如何在我的应用程序中做到这一点?

0 投票
0 回答
290 浏览

ios - 即使本地化开发语言是 RTL(例如阿拉伯语),iOS 是否认为 UI 是针对 LTR 语言的?

我有一个使用 nib 文件设计的旧版 iOS 应用程序,并且应用程序的 UI 对齐方式是为阿拉伯语(从右到左)设计的,然后我尝试将英语本地化添加到 nib 文件中我执行以下操作

  1. 我将项目的 .plist 文件中的“Localizations”键添加为 Array,然后在“Localizations”下添加了以下项目(item0:英语,item1:阿拉伯语)
  2. 我添加了“本地化本地开发区域”,将其值设置为“ar”。
  3. 然后我打开 project.pbxproj 并更改“developmentRegion”“developmentRegion = ar;”的值

我得到了如下图所示的结果

在此处输入图像描述

问题是当将应用程序的语言设置为阿拉伯语(RTL 对齐)时,iOS 将视图从 RTL(从右到左)镜像到 LTR(从左到右),我猜 iOS 总是考虑 UI 为 Left-即使本机开发语言是 RTL 语言,右向语言和镜像 RTL 的视图。

问题是即使本地化开发语言是 RTL(例如阿拉伯语),iOS 是否认为 UI 是针对 LTR 语言的?

任何帮助将不胜感激

0 投票
1 回答
255 浏览

ios - UILocalizedIndexCollat​​ion 上的 `sectionForSectionIndexTitleAtIndex` 如何工作?(特别是自定义章节标题)它总是返回相同的数字

这在不同的地区有什么不同吗?我完全不明白该sectionForSectionIndexTitleAtIndex方法的意义UILocalizedIndexCollation是什么。我传递的每个索引都只返回相同的索引。

该文档根本不是很有帮助,我似乎找不到任何实例,它返回的数字与我提供的数字不同。为什么不直接返回数字本身?

更糟糕的是,如果我向我的表格视图添加额外的索引,例如UITableViewIndexSearch一些自定义索引,那么我的表格视图的部分索引标题总共有搜索字符、两个自定义的、字母和 #(总共 30部分标题),我不知道sectionForSectionIndexTitleAtIndex从方法传入UITableViewDataSource什么sectionForSectionIndexTitle:atIndex:

如果我通过表格视图方法给我的索引(比如 1),它会给我 1,这是错误的,因为如果我点击部分索引 1,它应该跳转到第一个自定义的。所以我应该只在字母部分开始时开始,它从部分索引 3 开始。但如果我将 3 传递给sectionForSectionIndexTitleAtIndex方法,我会得到 3,而我应该得到 2,因为搜索字符不是实际的部分.

所以我应该只在 3 之后开始,此时我减去 1 以获得实际索引。好的。然后我到达索引 29 处的最后一个部分索引 #。我将 29 - 1(即 28)传递给sectionForSectionIndexTitleAtIndex,然后我得到一个错误,它超出了范围,因为只有 27 个字符。

在这种情况下我到底应该如何使用它?好像完全没用,感觉只是返回索引而已。但这会在某些语言环境下中断吗?这种方法是如何工作的?