美文网首页
高德地图导航跳转导航栏被遮住的问题;

高德地图导航跳转导航栏被遮住的问题;

作者: MMD_ | 来源:发表于2017-11-17 14:56 被阅读12次
AMapNavi

一次项目中,需要用到高德导航,APP中集成,并非跳转第三方客户端
当我集成好高德SDK准备跳转,测试结果很意外,导航栏被遮住了;
我一遍遍查看我的代码,没毛病呀!
跑到Podfile里一看,原来是你这个家伙---->FDFullscreenPopGesture

这个右滑返回组建是全局,当跳转到高德地图的时候,依然设置第三方,而高德SDK又有自己的导航栏,因为层次关系,导致系统导航栏覆盖了SDK的导航栏;

解决

在UINavigationController+FDFullscreenPopGesture.m更改137行代码方法

- (void)fd_setupViewControllerBasedNavigationBarAppearanceIfNeeded:(UIViewController *)appearingViewController
{
    if (!self.fd_viewControllerBasedNavigationBarAppearanceEnabled) {
        return;
    }
    
    __weak typeof(self) weakSelf = self;
    _FDViewControllerWillAppearInjectBlock block = ^(UIViewController *viewController, BOOL animated) {
        __strong typeof(weakSelf) strongSelf = weakSelf;
        if (strongSelf) {
            if ([NSStringFromClass([appearingViewController class]) hasPrefix:@"AMapNavi"]) {
                [strongSelf setNavigationBarHidden:YES animated:animated];
            } else {
                [strongSelf setNavigationBarHidden:viewController.fd_prefersNavigationBarHidden animated:animated];
            }
        }
    };
    
    // Setup will appear inject block to appearing view controller.
    // Setup disappearing view controller as well, because not every view controller is added into
    // stack by pushing, maybe by "-setViewControllers:".
    appearingViewController.fd_willAppearInjectBlock = block;
    UIViewController *disappearingViewController = self.viewControllers.lastObject;
    if (disappearingViewController && !disappearingViewController.fd_willAppearInjectBlock) {
        disappearingViewController.fd_willAppearInjectBlock = block;
    }
}

好啦,完美解决

相关文章

  • 高德地图导航跳转导航栏被遮住的问题;

    AMapNavi 一次项目中,需要用到高德导航,APP中集成,并非跳转第三方客户端当我集成好高德SDK准备跳转,测...

  • 高德地图导航使用指南

    高德地图是我们常用的导航地图之一,其强大性就不说了,直接开始主题,高德地图导航功能的使用方法。 概览 高德地图导航...

  • 地图导航

    URI跳转方式地图导航的代码实践iOS调用第三方地图路线导航IOS实现应用内打开第三方地图app进行导航 高德 i...

  • Android Kotlin 跳转第三方地图App进行导航(高德

    跳转第三方地图App进行导航 /** * type * 1 高德地图com.autonavi.minimap *...

  • iOS导航栏隐藏透明处理

    1: 导航栏隐藏之间跳转 & 导航栏隐藏后显示自定义导航栏(由于系统导航栏透明造成的动画问题 暂时还未找到...

  • RN-地图导航

    调起百度网页地图路径导航 调起高德网页地图路径导航 iOS调起百度APP地图路径导航 iOS调起高德app地图路径...

  • iOS 集成高德地图

    参考文档:iOS 跳转方式实现地图导航功能 应用内导航 是指使用地图服务提供的SDK(比如高德,百度等等),直接将...

  • 百度地图、高德地图导航封装工具类

    title : 百度地图、高德地图导航封装工具类category : 常用封装 百度地图、高德地图导航封装工具类 ...

  • 导航工具类

    高德地图导航和百度地图导航,传入所需参数可直接使用

  • iO 关于NavigationBar、NavigationIte

    前言:经常遇到这样的需求:从有导航栏的界面跳转到导航栏透明的界面,由于iOS从有导航栏跳转到透明导航栏界面,并且设...

网友评论

      本文标题:高德地图导航跳转导航栏被遮住的问题;

      本文链接:https://www.haomeiwen.com/subject/dkllvxtx.html