更改MapKit注释弹出窗口标题和副标题的字体

3

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

1
您说得对,覆盖UIFont类方法并不能保证拦截地图弹出框的字体查询。我建议您查看SMCalloutView项目,这是一个开源且可自定义的克隆版本:

https://github.com/nfarina/calloutview


是的,SMCalloutView是Callout View的一个很好的替代品。但仍需要更改MKAnnotationView的Callout字体。 - Asif Bilal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接