美文网首页
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