我试图让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
我甚至无法获得它编译。
我没有其他想法如何实现这一点。
感谢。
答案 0 :(得分:0)
我认为你不能用股票MKAnnotation做到这一点。我会创建自己的自定义注释视图,这样您就可以根据需要自定义视图。
这是一个很好的教程:
http://blog.asynchrony.com/2010/09/building-custom-map-annotation-callouts-part-1/