Iphone 分段控制导致mapkit中的pincolor变化
问题是: 我有一个mapkit视图,有两种不同的颜色。现在我添加了一个分段控件来显示不同的地图类型,即卫星地图、标准地图和混合地图。当我的应用程序加载时,有两种不同的颜色是正确的。但是,当我选择这些片段时,我的所有精确点都将变为红色 有没有办法重新加载我的所有数据并精确定位,这样每个片段都会给我相同的初始视图Iphone 分段控制导致mapkit中的pincolor变化,iphone,objective-c,uisegmentedcontrol,Iphone,Objective C,Uisegmentedcontrol,问题是: 我有一个mapkit视图,有两种不同的颜色。现在我添加了一个分段控件来显示不同的地图类型,即卫星地图、标准地图和混合地图。当我的应用程序加载时,有两种不同的颜色是正确的。但是,当我选择这些片段时,我的所有精确点都将变为红色 有没有办法重新加载我的所有数据并精确定位,这样每个片段都会给我相同的初始视图 - (IBAction) segmentAction:(id)sender { UISegmentedControl* segCtl = sender ; if
- (IBAction) segmentAction:(id)sender
{
UISegmentedControl* segCtl = sender ;
if( [segCtl selectedSegmentIndex] == 0 )
{
NSLog(@"first view");
_mapView.mapType=MKMapTypeStandard;
}
if( [segCtl selectedSegmentIndex] == 1 )
{
NSLog(@"2nd view");
_mapView.mapType=MKMapTypeSatellite;
}
if( [segCtl selectedSegmentIndex] == 2 )
{
NSLog(@"3rd view");
_mapView.mapType=MKMapTypeHybrid;
}
}
确保地图视图控制器实现viewForAnnotation:方法-如果缺少此方法,则在刷新视图时可能会重置pin颜色。例如:
- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
{
MKPinAnnotationView *newAnnotation = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"redpin"] autorelease];
newAnnotation.pinColor = MKPinAnnotationColorRed;
newAnnotation.animatesDrop = YES;
newAnnotation.canShowCallout = YES;
return newAnnotation;
}
嗨,尼克。。谢谢你的帮助。。我已经有了。。但每当我选择不同的片段时,我的pincolor仍然在变化。有没有办法为每个片段重新加载地图?当您实例化MKPinAnnotationView时,是否使用autorelease?我编辑了这个。也许这会有帮助?另外,如果您使用自己的自定义图像,请确保您使用的是MKAnnotationView,而不是MKPinAnnotationViewyea也有此功能..=juz dun明白为什么颜色一直在变化。。。因此,我将不得不按下我的选项卡栏中的另一个选项卡,然后在颜色再次正确之前b到地图选项卡。。。分段控制将所有精确点更改为红色!事实上,这是MKAnnotationView。。。英雄联盟不知道为什么当它第一次加载时,它允许我使用MKPinAnnotationView,即使我的是自定义图像。。。再次感谢你的帮助!