我看到有一个属性名称(NSParagraphStyleAttributeName
)用于将段落样式应用于Cocoa中的文本。文本存储在NSAttributedString
中,但是在该字符串中定义“段落”的内容是 - 换行符\n
?其他人物?如果它是\n
,那么如何在不启动新段落的情况下创建新行。最后,当您将ParagraphStyle附加到字符串时,是否必须使用整个段落的确切范围,或者可以将其放在段落中的任何子范围内。如果它可以是一个子范围,系统如何处理同一段落上的两个或多个ParagraphStyles?
感谢, 罗布
答案 0 :(得分:13)
我在Apple的cocoa-dev邮件列表上得到道格拉斯的回答:
http://lists.apple.com/archives/Cocoa-dev/2010/Dec/msg00347.html
我会复制他在这里写的内容:
可以使用任何标准段落分隔符(\ n,\ r,\ r \ n,Unicode段落分隔符)。使用Unicode行分隔符来开始一个没有分段符的新行。最好将段落样式应用于整个段落;如果没有这样做,那么段落样式属性将在属性修复时自动修复,以便它在每个段落范围内保持不变,因为在布局时需要它。
答案 1 :(得分:3)
@"\n\r";
我发现只使用\n
甚至0x2029
的行为不一致(应该等同于NSParagraphSeparatorCharacter(在iOS中未定义))
使用NSAttributedString
和NSParagraphStyle
时出现的问题...当使用@“\ n”或(0x2029)时,setParagraphSpacing被第一段以外的其他方式忽略...使用{ {1}}得到了正确的表达
答案 2 :(得分:2)
值得一提的是,Apple的字符串编程指南中有一个关于段落和换行符的部分,NSString将为您提供段落范围,而无需搜索段落分隔符。