我试图让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
,我甚至不能让它编译。
我不知道该怎么做。
谢谢。
我不认为你可以用股票MKAnnotation做到这一点。我会创建我自己的自定义注释视图,这样你就可以自定义视图了
这里有一个很好的教程:
http://blog.asynchrony.com/2010/09/building-custom-map-annotation-callouts-part-1/