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 则是导航视图的一个顶层视图。
但这里也有一些我没有解决的缺陷:

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

期待得到你们的解答!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,367评论 4 61
  • 难受,又没过四级,还比上次考的少。上次423,这次421。真的挺难受的。
    暮色言落阅读 1,126评论 0 0

友情链接更多精彩内容