首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有TableView的IOS 6 CalloutView不再工作

带有TableView的IOS 6 CalloutView不再工作
EN

Stack Overflow用户
提问于 2012-09-22 20:30:24
回答 1查看 298关注 0票数 2

我的地图有一个自定义的calloutview。里面有一个表视图。在iOS6之前,一切工作正常,如果我选择了一行,在标注中会显示一个新的视图,但现在iOS6不再工作。显示了表格视图,但我不能选择一行,只能滚动表格。你知道怎么解决这个问题吗?

thx 4救命!

EN

回答 1

Stack Overflow用户

发布于 2012-11-02 18:17:21

我解决了这个问题。单击CalloutView中的任何内容,地图将不会显示touch.My调用视图是自定义的具有选项卡视图

1-在文件MapviewController.h中添加委托: UIGestureRecognizerDelegate

2-和文件中的MapViewController.m实现方法- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)触摸

-In my mapView当您在地图上单击1次时,它将以此方法运行3次。所以我限制了触摸将会是action.the第一次触摸的动作。详细说明:在myCalloutView have tabbleView中,如果tabbleView接收到触摸,它将返回地图的错误触摸,这将使您的tabbleview可以为您的按钮获得相同的touch.It

注意:在NSlog点击测试视图:将有名称的视图项目,你想要它有触摸。我的视图示例: isEqualToString:@"UITableViewCellContentView"]

代码语言:javascript
复制
static int count=0;
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
        NSLog(@"hit test view %@",[touch view]);    
        if(count >0 && count<=2)
        {
            count++;
            count=count%2;
            return FALSE;
        }
        count++;      
        if ([[[[touch view] class] description] isEqualToString:@"UITableViewCellContentView"]) {
            return FALSE;
        }
        return TRUE;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12543783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档