gpt4 book ai didi

ios - 防止 UILabel 字符换行符号

转载 作者:可可西里 更新时间:2023-11-01 04:34:17 27 4
gpt4 key购买 nike

我有一个包含以下文本的多行标签:

Lots of text here · $$$$

由于开头的文本是自由形式的,有时包装最终看起来像这样:

Lots of text here · $$$
$

如何防止这种情况发生?我希望它看起来像这样:

Lots of text here ·
$$$$

我已经尝试了每一个 lineBreakMode 都收效甚微。自动换行不起作用,因为它不会将 $$$$ 视为单词。

最佳答案

看起来您可能会从 UILabel 的子类化中获益,对于 NSLineBreakByWordWrapping 换行模式,它会以不同的方式处理字符串,它将您的语音单词视为单词。您将有效地扩展自定义 linebreakmode 考虑单词的定义。

您将不得不推出自己的换行算法。确定换行符位置的方法类似于以下内容:

  • 遍历字符串,获取每个字符,直到满足以下两个条件之一:a) 达到 View 的宽度,或 b) 达到空格,下一个单词(分隔符)由一个空格)不适合在同一行。

  • 如果您达到条件 a,您有两个选择——您可以采用从不将单词拆分为多行的策略,或者您可以只将不拆分规则应用于您的语音单词。无论哪种方式,当给定行上没有更多空间时,您都需要在拼音单词的开头插入换行符。

  • 您可能希望使用两个单独的字符串,以将源字符串与包含格式的显示字符串分开。

如果有帮助,请告诉我!

关于ios - 防止 UILabel 字符换行符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999879/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com