【发布时间】:2013-01-15 13:27:52
【问题描述】:
我正在向字符串中添加一个新行,如下所示:
unichar newLineChar = NSNewLineCharacter;
NSString *newLineCharAsStr = [NSString stringWithCharacters:&newLineChar length:1];
NSString * newLine = [[NSString alloc] initWithString: newLineCharAsStr];
[finalString appendString: newLine];
但是在 Core Text 中呈现的结果给了我两个换行符。即两个文本块之间的空行。我只想终止一行并在新行上开始下一行(即之间没有空行)。
如果我删除 appendString,那么文本会连续流动(即没有添加换行符),所以我可以确认我没有意外添加两次换行符。我也试过NSCarriageReturnCharacter、NSLineSeparatorCharacter和NSParagraphSeparatorCharacter以及\r和\n,但在所有情况下都会发生这种情况。
我觉得我可能找错地方了,但谁能帮忙?
更新:我从下面提供的链接之一收集到核心文本中的“\n”结束一个段落,在当前行下方插入一个换行符。这可以解释为什么总是插入换行符。所以我想精炼的问题是,Core Text 中的什么会简单地换行而不是插入断句?即期望的结果是
第 1 行。
第 2 行。
而不是:
第 1 行。
第 2 行。
这是我目前得到的。
【问题讨论】:
-
第二行的 paraChar 是什么?
-
@AnoopVaidya 现在是一个更有趣的问题。
-
抱歉 - 示例输入错误。 paraChar 应该是 newLineChar。道歉!
-
@beaudrykock:替换之后呢?
标签: ios objective-c nsstring core-text