Ios 如何在UITableViewCell的UIlabel内以更好的性能显示自定义线方向

Ios 如何在UITableViewCell的UIlabel内以更好的性能显示自定义线方向,ios,uilabel,telegram,direction,Ios,Uilabel,Telegram,Direction,我想为每个单元格显示UITableViewCell的UIlabel中的一些文本。在文本内部,对于文本的每一行,应正确显示行方向。因此,如果行语言是阿拉伯语,它应该是RTL,如果是英语,它应该是LTR。我不想在cellForRow委托中检测行分隔符,然后构建nsattributed string,因为cellForRow中的检测性能很低,而且我有一个包含大量文本的大表。 如何以良好的性能解决此情况? 我也不知道如何用电报解决这个问题,如果有人知道,请告诉我。感谢您的帮助。 编辑:插入UILabel

我想为每个单元格显示
UITableViewCell
UIlabel
中的一些文本。在文本内部,对于文本的每一行,应正确显示行方向。因此,如果行语言是阿拉伯语,它应该是RTL,如果是英语,它应该是LTR。我不想在
cellForRow
委托中检测行分隔符,然后构建
nsattributed string
,因为
cellForRow
中的检测性能很低,而且我有一个包含大量文本的大表。 如何以良好的性能解决此情况?
我也不知道如何用电报解决这个问题,如果有人知道,请告诉我。感谢您的帮助。

编辑:插入UILabel中的每个文本可以有不同的行,每行可以有不同的语言。所以对于每条线,我需要不同的方向。在UILabel或UITextView中,我只需为总文本而不是每行文本设置方向。

出于性能原因,建议在调用
reloadData()
之前,将数据预处理到,例如-,并将其放入表备份数组中

cellForRow
应处理最少的数据
cellForRow
只能用于根据逻辑选择要显示的数据。例如,根据用户所处的某些UI状态,从数组1或数组2中选择它,例如搜索模式/折叠展开模式/语言1-2数据等


这些数据本身应尽可能进行预处理,并且必须随时呈现。处理完成后,立即调用
reloadData
将其呈现为原样。

UILabel应自动处理RTL/LTR语言。你试过了吗?你对iOS的自动功能有什么问题?@Paulw11-谢谢你的回复。是的,它应该自动完成。我可以通过检测cellForRow中的行分隔来显示正确的方向,然后我可以创建NSMutableAttributedString,其中包括几行(每一行都是方向正确的NSAttributedString),但正如我所说的,我认为它对于我的大表和大文本来说性能很低。所以我想要一个更好的方案,或者如果有人知道电报方案如何解决这个问题,因为它显示了正确的方向。为什么需要检测线路分离?也许您应该使用
UITextView
而不是
UILabel
?为什么系统不能自动排列文本?如果需要多行标签,是否已将行设置为0?我需要检测,因为我需要检测每一行,然后从中创建方向正确的NSAttributedString。我把它的行号设为0。如果有必要,我会使用UITextView更改UILabel,尽管它需要在项目中进行更改。让我用UITextView测试一下。你一直说你需要在
NSAttributedString
中设置正确的方向-为什么?如果你的应用程序是在RTL语言环境下运行的,那么iOS将以RTL语言呈现;您可以通过使用RTL伪语言启动应用程序进行测试。