在iOS6下,我执行以下操作为右侧标注附件视图的按钮设置自定义图像:
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton setImage:[UIImage imageNamed:@"detaildisclosurebutton.png"] forState:UIControlStateNormal];
annotationView.rightCalloutAccessoryView = rightButton;
效果很好。现在我将应用程序更新到iOS7,我得到一个蓝色圆圈:
当我用方形图像替换图像时,它变成正方形。但它也是蓝色的。
似乎是tintColor
。我试着把它设置为零。我还尝试将buttonWithType:UIButtonTypeCustom
用作buttonType
,但没有成功。
有人有解决方案吗?
答案 0 :(得分:1)
按钮类型UIButtonTypeDetailDisclosure
默认为图像着色。请改用UIButtonTypeCustom
。
如果您确实需要UIButtonTypeDetailDisclosure
(而且我无法想出您为什么要设置自定义图片的原因,则可以强制您的图片使用"始终是原创"渲染模式:
[[UIImage imageNamed:@" detaildisclosurebutton.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]