UITextView 中不必要的换行符

Posted

技术标签:

【中文标题】UITextView 中不必要的换行符【英文标题】:Unnecessary line break in UITextView 【发布时间】:2013-01-13 13:56:18 【问题描述】:

我正在以编程方式向 UITextView 写入逗号分隔的字符串。 示例:NSString* str = @"cat,dog,big dog,kitten"。

在 [textView setText:str];我得到的结果如下: 猫,狗,大 狗,小猫。

我不明白为什么空格会转换为换行符。有什么想法吗?

【问题讨论】:

信息不够,提供UITextView的信息和截图。 【参考方案1】:

空格被转换为换行符,因为文本不适合一行。无法禁用或更改此换行模式。但是你可以增加 textview 的宽度。

【讨论】:

好吧,也许吧。它取决于文本视图的宽度和字体(尤其是字体大小)以及字符串。问题中的字符串似乎应该适合跨越屏幕的文本视图中的系统字体。如果字体更大,视图更小,或者字符串以正确的方式不同,那么你可能是对的。 文本将适合文本视图。那不是问题。我注意到的是,在文本视图中显示时,包含空格的字符串会自动转换为新行。是不是因为我正在从 sqlite DB 读取数据。 char *temp = (char *) sqlite3_column_text(statement, 0); NSString *result = [[NSString alloc] initWithUTF8String:temp]; 不,试试“word1 word2 word3 word4”。每个单词都换行吗?我不相信。整个 teyt 不适合文本视图中的一行,因此 textview 在它认为最好的位置引入换行符。这与 sql lite 完全没有关系。试试看,将文本 i 硬编码到 textview,它也会中断。 @AlexWien [textView setText:@"cat,dog,eagle,elephant,rat,big dog,small dog"];这完美地工作并出现在文本视图的一行中。但是当我从数据库中得到相同的空间时,空间被转换为新行。

以上是关于UITextView 中不必要的换行符的主要内容,如果未能解决你的问题,请参考以下文章

在多个 UITextView 中显示长文本

根据内容大小属性设置 UIText 视图的宽度

iOS富文本

如何在 UITextView 中实现滚动功能?

UIPopOver、UITextView 和自动调整大小

如何在 UITextView 中自动换行?