Изменение цвета пин-кода при нажатии пользователем
Я менял цвет аннотации с красного на зеленый, когда пользователь нажимал кнопку addition, чтобы изменить ее заголовок и подзаголовок.
Я действительно заблудился. Я искал, как сделать пользовательский пин-код аннотации, хорошо. Я нашел реализацию метода, когда пользователь касается pin-кодаdidSelectAnnotationView
, и он работает, когда я касаюсь аннотации NSLog(@"Tap") ;
, но теперь я не могу изменить pin-код, который был затронут.
Большое спасибо всем за Ваш вклад.
Чао
3 ответа:
Чтобы задать цвет пин-кода, используйте свойство MKPinAnnotationView pinColor.
MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] init] pin.pinColor = MKPinAnnotationColorGreen;
Для пользовательского изображения аннотации задайте свойство image как таковое.
Обратите внимание, что СВОЙСТВОMKPinAnnotationView animateDrop не будет работать с пользовательскими изображениями. Однако есть способ скопировать эту анимацию. Смотрите как мне анимировать падение MKAnnotationView?UIImage *annImage = [UIImage imageNamed:@"AnnotationIcon.png"]; annView.image = annImage;
Обновление Так что, в принципе, вы делаете это, если хотите изменить цвет с красного на зеленый, будучи выбранный.
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKPinAnnotationView *)view { view.pinColor = MKPinAnnotationColorGreen; } - (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id)ann { NSString *identifier = @"myPin"; MKPinAnnotationView *annView = (MKPinAnnotationView *) [aMapView dequeueReusableAnnotationViewWithIdentifier:identifier]; if (annView == nil) { annView= [[[MKPinAnnotationView alloc] initWithAnnotation:ann reuseIdentifier:identifier] autorelease]; } else { annView.annotation = ann; } // you can define the properties here. return annView; }