В настоящее время у меня возникает проблема с моим проектом в реализации пользовательского MKAnnotationView, который имеет несколько пользовательских UIImageView. Таким образом, у этих пользовательских UIImageViews есть четкая кнопка поверх них, чтобы не добавлять знаменателей жестов.MKAnnotationView Subviews
Как вы можете видеть, это было бы полезно, чтобы на самом деле нажмите на подвиды MKAnnotationView и имеют какое-то действие происходит.
Я реализовал протокол для MKAnnotationView, где каждое изображение подтаблица в MKAnnotationView делает обратный вызов к контроллеру, который владелец MKMapView ... Heres код ...
PHProfileImageView *image = [[PHProfileImageView alloc] initWithFrame:CGRectMake(newX - radius/5.0f, newY - radius/5.0f, width, height)];
[image setFile:[object objectForKey:kPHEventPictureKey]];
[image.layer setCornerRadius:image.frame.size.height/2];
[image.layer setBorderColor:[[UIColor whiteColor] CGColor]];
[image.layer setBorderWidth:2.0f];
[image.layer setMasksToBounds:YES];
[image.profileButton setTag:i];
[image.profileButton addTarget:self action:@selector(didTapEvent:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:image];
- (void)didTapEvent:(UIButton *)button
{
NSLog(@"%@", [self.pins objectAtIndex:button.tag]);
if (self.delegate && [self.delegate respondsToSelector:@selector(didTapEvent:)]) {
[self.delegate JSClusterAnnotationView:self didTapEvent:[self.pins objectAtIndex:button.tag]];
}
}
Так как вы я вижу, что я уже пытаюсь записать результат воспроизведенного изображения, но ничего :(Является ли способ, которым я реализую это не для того, чтобы идти? Я должен иметь CAShapeLayers или что-то в этом роде? получили какие-либо идеи?
Редактировать
Im думает, что мне, возможно, придется реализовать пользовательский вид выноски. Поскольку вид выноска фактически добавляет кнопки в его представление и может реагировать на события касания ... Не совсем уверен, хотя из-за того, что выноски отображаются только после прослушивания аннотации. И в этом случае ANTUAL-аннотация представляет собой среднюю метку
Итак, я изменил размер кадра mkannotationview на гораздо больший кадр, и, судя по всему, все подзоны на самом деле не находятся в границах MKAnnotationView, поэтому субподзоры фактически не используются , Теперь, когда я думал об этом решении, это, вероятно, было не лучшим решением.
Если у кого-то есть предложения, а не добавления subviews в MKAnnotationView, чтобы создать представление, которое я сейчас имею, это было бы здорово!
Так что, я просто должен был выполнить тест на попадание и указать внутри ... В моем описании вопроса я объясняю, что я реализую пользовательский MKAnnotationView. Тем не менее, это был тот ответ, который я искал. Большое спасибо! – jsetting32