如何以更好的性能在 UITableViewCell 的 UIlabel 内显示自定义行方向
How to show custom line direction inside UIlabel of UITableViewCell with better performance
我想在每个单元格的 UITableViewCell
的 UIlabel
内显示一些文本。在文本内部,对于文本的每一行,行方向应该正确显示。因此,如果线路语言是阿拉伯语,则应为 RTL,如果是英语,则应为 LTR。我不想在 cellForRow
委托中检测行分隔符,然后构建 NSAttributedString
,因为 cellForRow
中的检测性能低下,而且我有一个巨大的 table 和巨大的文本。
如何以良好的性能解决这种情况?
我也不知道Telegram
如何解决这个问题,如果有人知道请告诉我。任何帮助表示赞赏。
编辑: 插入到 UILabel 中的每个文本可以有不同的行,每行可以有不同的语言。所以对于每一行我都需要不同的方向。在 UILabel 或 UITextView 中,我只能为总文本而不是每行文本设置方向。
出于性能原因,始终建议将数据预处理为 NSAttributedStrings, for RTL (line by line) - 并在调用 reloadData()
之前将其放入 table 支持数组。
cellForRow
应该处理最少的数据。 cellForRow
只能用于 选择 显示哪些数据,具体取决于逻辑。例如根据用户所处的某些 UI 状态从数组 1 或数组 2 中选择它,例如搜索模式/折叠展开模式/语言 1-语言 2 数据等
该数据本身应尽可能进行预处理,并且必须易于呈现。完成处理后,立即调用 reloadData
以按原样呈现它。
我想在每个单元格的 UITableViewCell
的 UIlabel
内显示一些文本。在文本内部,对于文本的每一行,行方向应该正确显示。因此,如果线路语言是阿拉伯语,则应为 RTL,如果是英语,则应为 LTR。我不想在 cellForRow
委托中检测行分隔符,然后构建 NSAttributedString
,因为 cellForRow
中的检测性能低下,而且我有一个巨大的 table 和巨大的文本。
如何以良好的性能解决这种情况?
我也不知道Telegram
如何解决这个问题,如果有人知道请告诉我。任何帮助表示赞赏。
编辑: 插入到 UILabel 中的每个文本可以有不同的行,每行可以有不同的语言。所以对于每一行我都需要不同的方向。在 UILabel 或 UITextView 中,我只能为总文本而不是每行文本设置方向。
出于性能原因,始终建议将数据预处理为 NSAttributedStrings, for RTL (line by line) - 并在调用 reloadData()
之前将其放入 table 支持数组。
cellForRow
应该处理最少的数据。 cellForRow
只能用于 选择 显示哪些数据,具体取决于逻辑。例如根据用户所处的某些 UI 状态从数组 1 或数组 2 中选择它,例如搜索模式/折叠展开模式/语言 1-语言 2 数据等
该数据本身应尽可能进行预处理,并且必须易于呈现。完成处理后,立即调用 reloadData
以按原样呈现它。