IIViewDeckController拖动事件与百度地图拖动事件冲突

在使用第三方(IIViewDeckController)的侧边栏和百度地图同时使用时。发现百度地图的拖动事件被侧边栏截取了,导致拖动地图时地图移动缓慢,几乎无法滑动。在网上苦苦搜寻了解决方案,最终搜索到比较靠谱的http://www.cocoachina.com/bbs/read.php?tid-252890-page-2.html链接里面11楼的评论。但是我按照他的办法添加代码,在我这边还是没有效果。于是我就在IIViewDeckController第三类里面去找-
(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldReceiveTouch:(UITouch *)touch,这个函数。最终在这个协议函数里面添加了几行代码,大概意思就是如果我拖动的是百度地图页面。我就返回NO。如果不是百度地图页面我就返回YES。最终完美解决了百度地图不能华东的bug。如下是源码。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if (self.panningGestureDelegate && [self.panningGestureDelegate respondsToSelector:@selector(gestureRecognizer:shouldReceiveTouch:)]) {
        BOOL result = [self.panningGestureDelegate gestureRecognizer:gestureRecognizer
                                                  shouldReceiveTouch:touch];
        if (!result) return result;
    }

    if ([[touch view] isKindOfClass:[UISlider class]])
        return NO;

    _panOrigin = self.slidingControllerView.frame.origin;
	BOOL isMap = NO;
	for (UIView* theview in [touch.view subviews] ) {
		if ([theview isKindOfClass:[BMKPinAnnotationView class]]) {
			isMap=YES;
		}
	}
	if (isMap) {
		return NO;
	}else{
		return YES;
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 14:38:13

IIViewDeckController拖动事件与百度地图拖动事件冲突的相关文章

百度地图拖动标注后获取坐标

本来想用图吧的API来做的,结果弄了下,在手机上弄不了.换用百度地图了..本功能个人觉得在很多地方用到,先记下来,省得每次都得翻地图API文档一点一点弄. 功能表现为: 地图一开始打开就定位到你的附近(以百度地图的浏览器定位为准),地图中心有一标注,鼠标拖去标注结果后弹框显示经纬度,自己测试过在手机上也是可以拖动的 代码如下: <!DOCTYPE html><html><head>    <meta http-equiv="Content-Type&qu

Bootstrap model模态框与百度地图API发生冲突时的解决办法

在使用百度地图API的过程中,当我需要在infoWindow的按钮点击触发modal模态框时,就会发现bootstrap的模态框会失效.弄清modal的原理就可以通过自定义modal的css样式和modal方法来解决这个问题.Bootstrap modal模态框的原理是通过控制modal框div的visibility属性来变化来实现的,在初始状态modal div的visibility属性值为hidden,在页面上隐藏,当点击按钮触发(或别的事件)一个方法使div的visibility值变为vi

Android studio 百度地图开发(6)Marker绑定事件、计算两点距离

email:[email protected] 开发环境:win7 64位,Android Studio,请注意是Android Studio,使用的导航SDK版本:3.1.0. 百度地图应用(1):Android studio 百度地图开发(1)配置工程.显示地图 百度地图应用(2):Android studio 百度地图开发(2)地图定位 百度地图应用(3):Android studio 百度地图开发(3)地图导航 百度地图应用(4):Android studio 百度地图开发(4)触摸选点

百度地图api基本用法

首先 ,如果想调用百度地图api,你需要获取一个百度地图api的密钥. 申请密钥很简单,在百度地图api的首页就有相关链接,填写相关信息百度就会给你一个密钥了. 接下来,就是引入百度地图的api 关键代码如下: <script type="text/javascript" src="http://api.map.baidu.com/api?ak=yourkey&v=2.0&services=false"></script> 接

数据视化Echarts+百度地图API实现市县区级下钻

开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是很详细,对于刚接触Echarts的让人来说可能有些搞不明白,在这里我把Echarts下钻开发过程中总结的知识分享给大家,也能使自己加深印象,当然啦,对于一些在软件行业折腾了几年的老油条来说,这些都是一些非常基础的东西.但是还是希望能帮助到那些刚接触Echarts遇到类似问题需要帮助的人.如果哪里写的

百度地图API和高德地图API资料集锦

[高德地图API]从零开始学高德JS API(五)路线规划--驾车|公交|步行 [高德地图API]从零开始学高德JS API(四)搜索服务--POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 [高德地图API]从零开始学高德JS API(三)覆盖物--标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物 [高德地图API]从零开始学高德JS API(二)地图控件与插件--测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 [高德地图API]从零开始学高德JS API

Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用

所需的权限: ? <!-- 这个权限用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission> <!-- 这个权限用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LO

Android studio 百度地图开发(8)地图已标记POI点和搜索POI点的获取和利用

一简要描述 二地图中已标记POI点 1接口 2MapPoi 类 3获取POI 三搜索关键词获取POI点 描述 1combaidumapapisearchpoi 接口OnGetPoiSearchResultListener PoiResult类 PoiInfo类 搜索POI 2combaidumapapisearchsug 接口 SuggestionResultseggestionInfo 联想搜索 四搜索效果 1联想搜索效果 2直接搜索效果 3选择一条联想搜索结果 五总结 一.简要描述 百度地图

地址解析和浏览器的百度地图和添加注释可以拖动

下面是百度地图demo包含常见:地址解析.浏览器.IP找到.可拖动标签 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> <script type="text/ja