iOS常见问题总结(四)
来源:互联网 发布:ajax前端获取数据 编辑:程序博客网 时间:2024/06/14 04:02
关于导入百度地图SDK出现的问题(二)
1.百度地图开发中添加标注[_mapView addAnnotations:annotations]与[_mapView addAnnotation: annotation] 的不同
/** *向地图窗口添加标注,需要实现BMKMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View *@param annotation 要添加的标注 */- (void)addAnnotation:(id <BMKAnnotation>)annotation;/** *向地图窗口添加一组标注,需要实现BMKMapViewDelegate的-mapView:viewForAnnotation:函数来生成标注对应的View *@param annotations 要添加的标注数组 */- (void)addAnnotations:(NSArray *)annotations;addAnnotation是每次添加一个标注,之后在- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation;中paopaoView的西安市内容是不同的,addAnnotation是添加一个标注数组,之后(BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation;
paopaoview显示的内容是数组最后一个元素的内容。
2.百度地图api自定义paopaoView,push到一个新的界面,返回之后再点击paopaoView不在有反应,解决办法:
下面这两个方法(void)mapView:(BMKMapView )mapView didAddAnnotationViews:(NSArray )views;和
- (void)mapView:(BMKMapView )mapView annotationViewForBubble:(BMKAnnotationView )view;不要使用,
在自定义的泡泡view里最上面覆盖一个透明的按钮,之后在- (BMKAnnotationView )mapView:(BMKMapView )mapView viewForAnnotation:(id )annotation这个方法里初始化自定义的View,之后为view里的按钮添加一个监听事件,为button设置tag值,之后在点击方法里
#pragma mark paopao按钮点击- (void)btnClick:(UIButton *)button{ for (int i = 0; i < self.annotations.count; i++) { HXMenDList *menDList = self.annotations[i]; if (button.tag == [menDList.ID integerValue]) { HXDetailsController *detailsV = [[HXDetailsController alloc] init]; detailsV.menDList = menDList; //计算所选坐标和当前位置之间的距离 CLLocationCoordinate2D currentAnno = CLLocationCoordinate2DMake([menDList.weid doubleValue], [menDList.jind doubleValue]); BMKMapPoint mp1 = BMKMapPointForCoordinate(currentAnno); BMKMapPoint mp2 = BMKMapPointForCoordinate(self.userLocation.location.coordinate); CLLocationDistance distance = BMKMetersBetweenMapPoints(mp1, mp2); distance = [Tools formatDistance:distance]; menDList.distance = distance; NSLog(@"detailsV.menDList.dianm==%@",detailsV.menDList.dianm); [self.navigationController pushViewController:detailsV animated:YES]; } }}
就可以跳转到对应的界面了。
3.设置状态栏为白色的方法
#pragma mark 设置状态栏的为白色-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{ [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];}
#pragma mark 设置状态栏的为白色-(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated{ [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];}
4.自定义导航栏侧滑返回失效
- (void)viewDidLoad { [super viewDidLoad]; __weak typeof (self) weakSelf = self; if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.interactivePopGestureRecognizer.delegate = weakSelf; }}
iOS7之后可以添加一个手势,要设置代理UIGestureRecognizerDelegate
//支持右滑手势 if ([[[UIDevice currentDevice] systemVersion] floatValue]>=7) { self.navigationController.interactivePopGestureRecognizer.delegate=self; }
5.BMKMapPoint * temppoints = new BMKMapPoint[planPointCounts]; ‘delete []temppoints;’报错
解决办法:new和delete是c++里的语法。要么把源文件后缀名改成.mm要么用c的malloc。这其实是objc开发的问题了,不算百度SDK的问题。
0 0
- iOS常见问题总结(四)
- iOS常见问题总结
- iOS常见问题总结(一)
- iOS常见问题总结(二)
- iOS常见问题总结(三)
- ios 常见问题总结
- iOS面试常见问题总结
- iOS常见问题总结
- Android常见问题总结(四)
- 串口调试小节之四 常见问题总结
- TCP/IP常见问题总结(四)
- iOS常见问题总结....持续更新中
- IOS UITableView 常见问题总结(-)
- ios常见问题
- ios 常见问题
- iOS常见问题
- iOS常见问题
- 常见问题总结
- LeetCode 22 Generate Parentheses(生成括号)
- HDU 1561 树形DP
- 算数-平均数、中位数和众数平均数
- 转:OPTION SQL_SELECT_LIMIT=DEFAULT java连接mysql错误
- POJ1011- DFS+剪枝
- iOS常见问题总结(四)
- docker部署nodejs环境(boot2docker)
- [kuangbin带你飞]专题一 简单搜索N - Find a way(HDU 2612)
- 二叉树、平衡二叉树、完全二叉树、满二叉树
- 数据结构字符串块链实验
- tableView的刷新
- Android数据库使用(LitePal)
- 黑马程序员——C语言基础 03—基本运算符
- jquery 动态添加元素的事件