我正在尝试向 NSAttributedString 添加左边距,以便当我将它与另一个 NSAS 连接时,两个框框之间有一点空间。

到目前为止,我所拥有的就是:

NSMutableAttributedString *issn = [[NSMutableAttributedString alloc] initWithString:jm.issn attributes:nil];

NSRange range = NSMakeRange(0, [issn length]);
[issn addAttribute:NSFontAttributeName
             value:[UIFont fontWithName:@"AvenirNext-Medium" size:8]
             range:range];

NSMutableAttributedString *textLabel = [[NSMutableAttributedString alloc] initWithAttributedString:title];
[textLabel  appendAttributedString:issn];

我想要第二个字符串左侧的边距。

谢谢!

编辑:图片上传

最佳答案

为什么不在两个字符串之间使用制表符?

您可以通过将第一行更改为:

NSMutableAttributedString *issn = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"\t%@", jm.issn] attributes:nil];

这应该输出类似于您想要的内容。但是,您可能想要添加 2 个 \t 字符而不是一个,因为根据字符串长度,它可能不需要制表符来对齐它(例如,在您发布的那个确切字符串中,它没有添加任何内容到我的输出)。

1 个带有字符串的选项卡:

带有字符串的 2 个标签:

关于ios - 向 NSAttributedString 添加左边距的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25799971/

10-13 06:35