问题标签 [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.
ios - UILocalizedIndexedCollation 不适用于非英文/中文索引
我使用 UILocalizedIndexedCollation(在应用程序中支持英文、中文字符)创建了一个带有部分的表格视图。这在 iOS6 中运行良好。现在在 iOS7 和 iOS7.1 中,这个功能不工作了。
行为:
- iOS6 和 iOS7 创建的索引不同。在iOS7中,中文索引以数字开头(1-4-8-后跟ACK),而在iOS6中,它以(ACK后跟1-4-8)开头。
- 最后,点击部分索引不会将其带到正确的部分。它仅适用于 iOS7 的英语而不适用于中文(在 iOS6 中它适用于两者)。
预期:它应该根据所选索引指向正确的部分或下一个最近的索引。
对此的任何修复或相同的替代修复?
ios - 具有不同语言环境的 UILocalizedIndexedCollation
我知道这是一个很长的镜头,但有谁知道是否可以将 UILocalizedIndexedCollation 与不是设备语言环境的语言环境一起使用?
即设置为中文的手机想要用英文查看我的应用程序 - 奇怪的是,这是我们用户的真实(和常见)请求!)
ios - 是否可以使用 UICollectionView 进行 UILocalizedIndexedCollation?
是否可以使用 UICollectionView 进行 UILocalizedIndexedCollation?我正在使用 UICollectionView 来显示数据,但我想像 iOS 联系人一样使用 UILocalizedIndexedCollation。我没有找到办法
ios - NSFetchedResultsController 和 UILocalizedIndexCollation
我想在 aUITableView
的帮助下填充 a NSFetchedResultsController
。我希望表格视图具有实体标题中第一个字母的部分。表格视图的右侧也应该有一个索引列表。
这是我的实体的样子:
我的第一个计划是拥有一个返回标题中第一个字母的瞬态属性:
问题是它会给你不同的“2”和“3”部分,例如,我想要一个名为“#”的部分中的所有数字和符号,就像UILocalizedIndexCollation
给你的一样。
但是哪些字母应该属于“#”类别?当然,这取决于语言,在英语中“Ö”应该属于另一个类别,但在瑞典语中它应该属于自己的类别。所以我想也许我应该NSLocalizedIndexCollation
改用。这是该代码:
它被调用-viewWillAppear:
,之后我重新加载我的表格视图。数据源方法设置正确,并确保没有空白部分。
这个解决方案有两个问题。第一个是它需要大量的代码(比我向您展示的代码段要多得多)才能工作。第二个更严重的问题是性能很差。每次视图出现时,都必须重新计算部分,因为影响它的某些东西可能已经改变。10k 本书花了 30 秒,这是不可接受的。
我想我需要一个以巧妙的方式结合NSFetchedResultsController
起来的解决方案。UILocalizedCollation
这是我需要的解决方案:
- 根据标题中的第一个字母将书籍分成几部分
- 最后应该存在一个“其他”类别('#')
- 没有空白部分
- 右侧的索引列表,所有可能的字母 + '#' 最后
- 高性能,至少在第一次出现视图之后
ios - UILocalizedIndexedCollation UITableView 索引列表排序
我正在创建一个UITableView
用户联系人列表。我已成功导入联系人列表,并将它们作为字典存储在数组中,其中包含每个联系人的名字、姓氏和 ID 参考。我正在尝试实现UITableView's
索引列表功能。
尝试将数组分区到表 index 中的不同部分时,我遇到了问题UILocalizedIndexedCollation
。具体由选择器。我希望能够选择是按名字还是姓氏对名称进行排序。
ios - 带有字符串数组的 UILocalizedIndexedCollation
uniqueOrganizationsArray
是[String]
类型。
String
我应该在对象上使用什么选择器?
ios - 使用 UILocalizedIndexedCollation sectionForObject:collationStringSelector 的动态选择器
使用 UILocalizedIndexedCollation 时需要动态设置选择器在我的应用程序中,我有以下代码:
mainTitle 是 myObject 中的众多属性之一。但是,我希望选择器可以使用任何字符串。我遵循了这个站点的提示: UILocalizedIndexedCollation 的 sectionForObject:(id)object collationStringSelector:(SEL)selector 方法中选择器的作用是什么,并介绍了以下内容:
这导致崩溃并出现错误:[MyObject myString]: unrecognized selector sent to instance ...
添加动态选择器的正确方法是什么?
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 知道如何将中文字符映射到它们在英文字母表中的拼音对应。我将如何在我的应用程序中做到这一点?
ios - 即使本地化开发语言是 RTL(例如阿拉伯语),iOS 是否认为 UI 是针对 LTR 语言的?
我有一个使用 nib 文件设计的旧版 iOS 应用程序,并且应用程序的 UI 对齐方式是为阿拉伯语(从右到左)设计的,然后我尝试将英语本地化添加到 nib 文件中我执行以下操作
- 我将项目的 .plist 文件中的“Localizations”键添加为 Array,然后在“Localizations”下添加了以下项目(item0:英语,item1:阿拉伯语)
- 我添加了“本地化本地开发区域”,将其值设置为“ar”。
- 然后我打开 project.pbxproj 并更改“developmentRegion”“developmentRegion = ar;”的值
我得到了如下图所示的结果
问题是当将应用程序的语言设置为阿拉伯语(RTL 对齐)时,iOS 将视图从 RTL(从右到左)镜像到 LTR(从左到右),我猜 iOS 总是考虑 UI 为 Left-即使本机开发语言是 RTL 语言,右向语言和镜像 RTL 的视图。
问题是即使本地化开发语言是 RTL(例如阿拉伯语),iOS 是否认为 UI 是针对 LTR 语言的?
任何帮助将不胜感激
ios - UILocalizedIndexCollation 上的 `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 个字符。
在这种情况下我到底应该如何使用它?好像完全没用,感觉只是返回索引而已。但这会在某些语言环境下中断吗?这种方法是如何工作的?