iOS 百度导航添加自定义组件

提示:文章只是用来记录本人自己在学习过程中所遇到的一些问题的解决方案,如果有什么意见可以留言提出来,不喜勿喷哦!

这里我就不对集成百度导航相关的内容做过多阐述,主要针对怎么添加组件到导航页面。
我这里的方法是在导航算路成功的回调方法 routePlanDidFinished 里面添加:

//自定义组件
    dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, 0.5*NSEC_PER_SEC);
    dispatch_after(delayTime, dispatch_get_main_queue(), ^{
      //这里将自己要添加的组件添加进去
      _BTBack = [[UIButton alloc] initWithFrame:CGRectMake(5, 30, 50, 30)];
        _BTBack.titleLabel.font = [UIFont systemFontOfSize:15];
        NSMutableAttributedString* backStr = [[NSMutableAttributedString alloc] initWithString:@"返回"];
        [backStr addAttribute:NSForegroundColorAttributeName value:[UIColor whiteColor]  range:NSMakeRange(0,[backStr length])];
        [backStr addAttribute:NSUnderlineStyleAttributeName
                        value:@(NSUnderlineStyleNone)
                        range:(NSRange){0,[backStr length]}];
        [_BTBack setAttributedTitle:backStr forState:UIControlStateNormal];
        [_BTBack addTarget:self action:@selector(PressBack) forControlEvents:UIControlEventTouchUpInside];
        [BNGetTopVC.view addSubview:_BTBack];
        
    });

这里,我自己添加了一个返回按钮,在导航页面的左上角,而其中的 BNGetTopVC 则是导航视图的一个顶层视图。
但这里也有一些我没有解决的缺陷:

  • 在程序第一次启动并进入导航的时候有个信任协议页面,自定义的组件也会出现在上面,不是很合理。
  • 无法去除导航页面原来的组件。

期待得到你们的解答!

你可能感兴趣的:(iOS 百度导航添加自定义组件)