gpt4 book ai didi

iphone - CoreText - 空格不换行?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:03 31 4
gpt4 key购买 nike

我在 CoreText 中注意到,在开发我自己的自定义 UITextView 以及查看 Apple 的 SimpleTextInput 时,空格或“”不会当行尾的空间用完时,它不会中断(或移动到下一行)。相反,它会继续绘制在超过 View 宽度边界的同一条线上。

这是一个错误,还是预期的行为?无论如何,是否有空间用 CoreText 换行/换行到下一行?

更新:尝试单独设置空格以具有 kCTLineBreakByCharWrapping 属性,但没有成功。想也许有一些 unicode 字符我可以输入而不是 @"" 可能让它正常工作?暂时避免将其手动放入代码中。

最佳答案

根据设计,空格本身不会触发换行符。只有越过边距的可见字符才会触发换行。

您可以使用 CTLineGetTrailingWhitespaceWidth 找到 CTLine 末尾的空白宽度。

您可以通过将 CTRunDelegate 属性附加到它来使空白字符导致换行(如果它越过边距)。您必须让 CTRunDelegate 报告适当的宽度、上升和下降,您可能需要在 CTFont 中查找这些内容。对于设置为相同字体和大小的所有空格,您或许可以使用 CTRunDelegate 的单个实例。

关于iphone - CoreText - 空格不换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9876271/

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