繁体   English   中英

MKannotationView,UIButton作为子视图,按钮不响应

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM