如何使用NSAttributedString在两个单词之间添加间距?

时间:2017-02-01 04:30:24

标签: ios objective-c uilabel uitextview nsattributedstring

说我有一个句子That looks like this

如果我想在like上说更多空间,我该怎么做?所以它实际上看起来像That looks like this.

注入空格不起作用。

5 个答案:

答案 0 :(得分:0)

请尝试这样

<强> 1。选项

NSString *str = [NSString stringWithFormat:@"That looks %4s this",[@"like" UTF8String]];

%@ 格式化程序不会添加空格来调整字段宽度。所以我使用带有%s说明符的UTF8String来调整宽度。

Width指定要输出的最小字符数,通常用于填充表格输出中的固定宽度字段

第二个选项

在字符串

中添加标签空间
NSString *string = @"That looks \t like this";

希望它能奏效。

答案 1 :(得分:0)

试试这个

NSString *string = @"That looks \u00a0 \u00a0 like this";

答案 2 :(得分:0)

要使用属性执行此操作,请将空格所在范围内的字体设置为大于字符串其余部分的字体。 (对比例字体来说要大得多)

NSString *string = @"That looks like this";
NSMutableAttributedString *attrString=[[NSMutableAttributedString alloc] initWithString:string];

[attrString addAttribute:NSFontAttributeName
                   value:[UIFont systemFontOfSize:50.0] // big
                   range:NSMakeRange(4, 1)];
[attrString addAttribute:NSFontAttributeName
                   value:[UIFont systemFontOfSize:50.0]
                   range:NSMakeRange(10, 1)];

// present it somewhere where attributes are rendered
self.textView.attributedText = attrString;

答案 3 :(得分:0)

你也可以这样

[yourString stringByReplacingOccurrencesOfString:@"like" withString:@" like "];

答案 4 :(得分:0)

快速使用\u{2000}。 (可能是“ Objective-C”中的“ {\u2000”)。