【发布时间】:2013-11-26 06:19:56
【问题描述】:
我已将UIButtonTypeDetailDisclosure 的图像更改为下图,但问题是图像变为蓝色。我的问题在哪里?
- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
*infoButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[infoButton setImage:[UIImage imageNamed:@"carcar.png"] forState: UIControlStateNormal];
pinView.rightCalloutAccessoryView = infoButton;
}
最后更新:使用最后一个 infoButton.frame 解决。
UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *carImage = [UIImage imageNamed:@"carcar.png"];
if ([carImage respondsToSelector:@selector(imageWithRenderingMode:)])
{
carImage = [carImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}
[infoButton setImage:carImage forState: UIControlStateNormal];
infoButton.frame = CGRectMake(0, 0, 32, 32);
pinView.rightCalloutAccessoryView = infoButton;
【问题讨论】:
-
carcar.png的宽高是多少?
-
@AnnaKarenina 它是 100x100
-
尝试将其缩小到 32 x 32。
-
@AnnaKarenina 不幸的是它没有显示出来。
-
您是否使用 UIButtonTypeCustom 并且您是否将 infoButton.frame 设置为 0、0、32、32?
标签: ios uibutton ios7 uiimage mkannotationview