如何在iOS7下自定义MKAnnotationView的calloutAccessoryView?

时间:2014-04-21 22:38:42

标签: ios7 uibutton mkannotationview uiappearance

在iOS6下,我执行以下操作为右侧标注附件视图的按钮设置自定义图像:

UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton setImage:[UIImage imageNamed:@"detaildisclosurebutton.png"] forState:UIControlStateNormal];
annotationView.rightCalloutAccessoryView = rightButton;

效果很好。现在我将应用程序更新到iOS7,我得到一个蓝色圆圈: Example

当我用方形图像替换图像时,它变成正方形。但它也是蓝色的。

似乎是tintColor。我试着把它设置为零。我还尝试将buttonWithType:UIButtonTypeCustom用作buttonType,但没有成功。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:1)

按钮类型UIButtonTypeDetailDisclosure默认为图像着色。请改用UIButtonTypeCustom

如果您确实需要UIButtonTypeDetailDisclosure(而且我无法想出您为什么要设置自定义图片的原因,则可以强制您的图片使用"始终是原创"渲染模式:

[[UIImage imageNamed:@" detaildisclosurebutton.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]