我有一个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

最佳答案

正确地重写UIFont类方法并不能保证您也会拦截针对地图标注的字体查询。

我建议您检出SMCalloutView项目以获取开源和可定制的克隆:

https://github.com/nfarina/calloutview

关于ios - 更改MapKit注释标注标题和副标题的字体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25829173/

10-13 05:42