FDFullscreenPopGesture的使用及问题解决

最近需要给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的控制器导航栏会变成白色,或者消失不见了;

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,257评论 4 61
  • 你带着一颗什么样的心去看世界, 世界就怎么看你。 就像在这熙熙攘攘的人群里, 还可以保持一颗平和从容的心, 面带微...
    羽璃衣阅读 206评论 0 0
  • 每天晚上当月亮升起的时候,月亮之子就会降临到地面,他是一个普通的小子。深夜里,他会独自一个人无忧无虑的在月光下散步...
    离离离离晓阅读 383评论 0 1
  • 某时,你所遇见的物象都因你有所期待,澄澈清明,好风相从——对这些物像逢迎,敞开一方皓洁襟怀,天地空灵。 最近,多忙...
    夏木o阅读 327评论 0 0
  • 身处互联网时代,各类信息铺天盖地、随处可见,过多的信息随时随地吸引我们的注意,不仅切割了我们的专注力,还切割了我们...
    陈小汐2017阅读 1,210评论 0 4