美文网首页
FDFullscreenPopGesture的使用及问题解决

FDFullscreenPopGesture的使用及问题解决

作者: 褪而未变 | 来源:发表于2017-10-27 10:23 被阅读0次

    最近需要给APP添加手势左滑返回功能,使用了框架FDFullscreenPopGesture,把使用过程中遇到的坑以及解决方法记录下

    一、UIWebView无法左滑返回

    原因:UIWebView默认是不开启左滑手势返回功能的,需要自己开启;
    解决:在viewDidLoad方法里面设置属性fd_interactivePopDisabled为NO;

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        self.fd_interactivePopDisabled = NO;
    }
    

    二、UIWebView左滑返回没有成功时或者取消返回时导航栏的title文字为空,不见了

    原因:在viewWillDisappear:方法里面UIWebView控件被销毁了;

    ScanWebView = nil;
    

    解决:

    方法一: 最直接有效

    在viewWillDisappear方法里面取消UIWebView控件的销毁;即把这行代码注释掉;ScanWebView = nil;//注释掉

    方法二: 比较复杂

    在webViewDidFinishLoad方法里面用一个变量保存获取的title文字,在viewWillAppear方法里面设置导航栏的title文字;

    1、保存title文字的变量

    @property (nonatomic, copy) NSString *titleString; //保存title文字的变量
    

    2、设置导航栏的title文字

    - (void)viewWillAppear:(BOOL)animated{ //设置导航栏的title文字
        [super viewWillAppear:animated];
        self.titleLabel.text = self.titleString;
    }
    

    3、用变量保存获取到的title文字

    - (void)webViewDidFinishLoad:(UIWebView *)webView{ //用变量保存获取到的title文字
        NSString *title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
        self.titleString = title;
    }
    

    三、左滑返回没有成功或者取消时,会出现 … 的情况

    原因:导航控制器的导航栏默认是有一个返回按钮的;设置属性hidesBackButton为YES就会出现这种情况;

    解决:设置属性hidesBackButton为NO,或者直接注释掉这行代码,不进行设置;

    self.navigationItem.hidesBackButton = NO;
    

    四、从无NavigationBar到有NavigationBar,手势返回的时候,有NavigationBar的控制器导航栏会变成白色,或者消失不见了;

    原因:在滑动的时候显示出错

    相关文章

      网友评论

          本文标题:FDFullscreenPopGesture的使用及问题解决

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