gpt4 book ai didi

ios - paragraphSpacing 不是在段落之后设置空格,而是在\n之后设置空格

转载 作者:行者123 更新时间:2023-12-03 16:53:51 29 4
gpt4 key购买 nike

我需要在每个 NSMutableParagraphStyle 之后添加空格,所以我发现

setParagraphSpacing

文档指出

The space after the end of the paragraph.

我发现这不是真的,因为 paragraphSpacing 应用于字符串中的\n 字符

在此示例中,段落后不插入空格

NSString * s1 = @"This text belongs to paragraph 1";
NSString * s2 = @"This text belongs to another paragraph 2";
mas = [[NSMutableAttributedString alloc] initWithString:[s1 stringByAppendingString:s2]];

NSMutableParagraphStyle *ps1 = [[NSMutableParagraphStyle alloc] init];
[ps1 setParagraphSpacing:100];
[mas addAttribute:NSParagraphStyleAttributeName value:ps1 range:NSMakeRange(0, s1.length)];

NSMutableParagraphStyle *ps2 = [[NSMutableParagraphStyle alloc] init];
[ps2 setParagraphSpacing:100];
[mas addAttribute:NSParagraphStyleAttributeName value:ps2 range:NSMakeRange(s1.length, s2.length)];

但添加\n 会插入段落间距给出的空格,即使它不在段落末尾

NSString * s1 = @"This text belongs \n to paragraph 1\n";
NSString * s2 = @"This text belongs to another paragraph 2";

如何在属性字符串中正确插入段落间距(不使用\n)?

最佳答案

段落的定义基于字符,而不是基于应用于这些字符的样式。

在第一个示例中,您只有一个段落,因为在您的情况下,字符串中没有段落分隔符 '\n'

将此与(大多数 - 为了安全起见;-))文字处理程序进行比较,您可以在文字处理程序中单击/选择段落中的任意位置以对其应用样式。您所做的选择不会定义段落,而是按回车键即可。

阅读属性字符串文档,以确定针对具有多个段落样式运行(如第一个示例)、重叠运行以及与结果段落样式有关的跨段落边界的段落给出的规则(如果有)。

HTH

关于ios - paragraphSpacing 不是在段落之后设置空格,而是在\n之后设置空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34696688/

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