[英]MKannotationView with UIButton as subview, button don't respond
我已经将带有按钮的视图添加为MKAnnotationView的子视图
CCBigBubleViewController* buble = [[CCBigBubleViewController alloc] init];
[annotationView addSubView:buble.view];
它显示完美,但是按钮不响应点击。
在MKAnnotationView的实现中,重写hitTest方法:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
if (CGRectContainsPoint(_button.frame, point)) {
return _button;
}
return [super hitTest:point withEvent:event];
}
然后,您的按钮将接收触摸事件。
您的ationmentView可能大小不正确。 子视图超出框架时不会响应触摸。 为了测试这一点,您可以裁剪边界。
因此,请确保您的按钮位于AnnotationView的框架内,也许sizeToFit在这里会有所帮助。
您将需要像这样在编码中创建按钮动作
[buttonInstance addTarget:self action:@selector(youraction:) forControlEvents:UIControlEventTouchUpInside];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.