更改MapKit注释标注标题和副标题的字体

时间:2014-09-14 01:01:51

标签: ios objective-c uilabel mapkit mkannotation

我已将MKPointAnnotation添加为MKMapView的注释。我可以设置其titlesubtitle属性,但不能设置这些属性的相应标签的字体。有没有办法在不创建自定义视图并在didSelectAnnotationView中添加自定义视图的情况下执行此操作?我已经尝试覆盖systemFontOfSize这样的方法,但是没有可靠的方法来判断我是否设置了titlesubtitle标签的字体。

@implementation UIFont (SytemFontOverride)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"

+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize
{
    return [UIFont fontWithName:@"HelveticaNeue" size:20.0];
}

+ (UIFont *)systemFontOfSize:(CGFloat)fontSize
{
    return [UIFont fontWithName:@"HelveticaNeue" size:15.0];
}

#pragma clang diagnostic pop

@end

1 个答案:

答案 0 :(得分:1)

你是对的,覆盖UIFont类方法并不能保证你也会拦截地图标注的字体查询。

我建议您查看SMCalloutView项目的开源和版本。可定制的克隆:

https://github.com/nfarina/calloutview