NSMutableAttributedString怎么设置label的行间距

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSMutableAttributedString怎么设置label的行间距相关的知识,希望对你有一定的参考价值。

标签控件用来显示不希望被用户修改的文本.\r\n其属性有Caption、BorderStyle、Alignment(主要用于屏幕显示),还有:\r\n AutoSize:Label控件调整自己的大小来适应文本。\r\n WordWrap:当一行文本过长时自动换行。 参考技术A CGFloat lineSpacing = 2.0;

CTParagraphStyleSetting paragraphStyles[9] =

.spec = kCTParagraphStyleSpecifierLineSpacing, .valueSize = sizeof(CGFloat), .value = (const void *)&lineSpacing

;

CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(paragraphStyles, 9);

[mutableAttributes setObject:(id)paragraphStyle forKey:(NSString *)kCTParagraphStyleAttributeName];

CFRelease(paragraphStyle);

NSDictionary* attDic = [NSDictionary dictionaryWithDictionary:mutableAttributes];

[str addAttributes: attDic range:NSMakeRange(0, [str length])];

设置行间距属性kCTParagraphStyleSpecifierLineSpacing

可能带有 NSMutableAttributedString 的 iOS MKAnnotation 字幕

【中文标题】可能带有 NSMutableAttributedString 的 iOS MKAnnotation 字幕【英文标题】:iOS MKAnnotation subtitle with NSMutableAttributedString possible 【发布时间】:2014-05-20 16:10:49 【问题描述】:

我正在尝试让 MKAnnotation 字幕具有彩色文本,但我无法使用 NSMutableAttributedString 实现。

有人知道如何实现吗?

我当前的代码:

customAnn.h

interface MapAnnotation : NSObject <MKAnnotation>

@property (nonatomic, copy) NSString *title;
@property (nonatomic, copy) NSString *subtitle;
@end

customAnn.m

@implementation MapAnnotation

- (NSString *)title

    return @"Some Title";


- (NSString *)subtitle

    NSMutableAttributedString *subPart = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@ ", [[[data valueForKey:@"16"] sortedArrayUsingSelector: @selector(localizedStandardCompare:)] componentsJoinedByString:@" "]]];
    [subPart addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed:20/225.0 green:30/255.0 blue:15/255.0 alpha:1] range:NSMakeRange(0, subPart.length)];
    return subPart;

@end

目前代码不工作,因为 - (NSString *)subtitle 想要 NSString 但得到 NSMutableAttributedString - 它崩溃,但如果更改为 - (NSMutableAttributedString *)subtitle 我什至无法编译。

我不知道如何实现这一点。

谢谢。

【问题讨论】:

给我们一些代码示例,以便我们为您提供帮助。 【参考方案1】:

我认为您无法使用股票 MKAnnotation 来做到这一点。我会创建自己的自定义注释视图,这样您就可以根据需要自定义视图。

这是一个很好的教程:

http://blog.asynchrony.com/2010/09/building-custom-map-annotation-callouts-part-1/

【讨论】:

以上是关于NSMutableAttributedString怎么设置label的行间距的主要内容,如果未能解决你的问题,请参考以下文章

富文本(NSMutableAttributedString)

NSMutableAttributedString的使用

NSMutableAttributedString使用介绍

在 NSMutableAttributedString 上模拟“initWithAttributedString”的 OCMock 失败

NSMutableAttributedString-富文本的使用

NSMutableAttributedString 未正确呈现