iOS push侧滑返回功能实现方法

本文实例为大家分享了iOS push侧滑返回功能的具体代码,供大家参考,具体内容如下

开启iOS自带的push的侧滑返回功能(只有左侧边缘地带响应侧滑返回,并不是全局响应):

- (void)viewWillAppear:(BOOL)animated
{
 [super viewWillAppear:animated];
 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
  [self.navigationController.interactivePopGestureRecognizer setEnabled:YES];
  self.navigationController.interactivePopGestureRecognizer.delegate = self;
 }
}

为防止导航控制器在根视图时触发手势

- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
 if (self.childViewControllers.count == 1) {
  return NO;
 } else {
  return YES;
 }
}

这样 在根视图侧滑返回操作,然后出发push会没有效果,界面会卡住;代码已经push到下一个VC,但界面还停留在根视图。

解决方法是在根视图添加如下代码:

-(void)viewDidAppear:(BOOL)animated{
 [super viewDidAppear:animated];
 if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
  self.navigationController.interactivePopGestureRecognizer.enabled = NO;
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • iOS禁用侧滑返回手势要点解析
  • Android仿iOS实现侧滑返回功能(类似微信)
(0)

相关推荐

  • Android仿iOS实现侧滑返回功能(类似微信)

    我们都知道侧滑返回操作是 iOS 里面比较常见的功能,一般是手指在靠近手机屏幕左边缘向右滑动就可以关闭当前的界面,iOS 系统提供了这样的 API,但是 Android 怎么实现呢?网上找了许多方法,比较了一下,个人觉得还是这个比较方便也容易理解, 先上个效果再说: 原理 Activity 本身是不可以滑动的,但是我们可以制造一个正在滑动 Activity 的假象,使得看起来这个 Activity 正在被手指滑动.其原理其实很简单,我们滑动的其实是 Activity 里面的可见View元素,而我

  • iOS禁用侧滑返回手势要点解析

    项目中可能某些页面返回按钮需要自定义,然后在点击返回按钮时做出某些判断,或者直接pop到根控制器,这时候需要禁用侧滑返回手势,防止它不走判断的代码直接返回上个界面. 网上找了些资料,大致方法有两种,但要注意的点没有提到,容易出错,这里整理下: 需求:A -> B -> C,要求B页面禁用侧滑返回 1. B push到 C,C页面可以侧滑返回; 2. B pop回 A,再从A push D,D要可以侧滑返回. 方法一: 在B页面的生命周期设置如下代码 -(void)viewDidAppear:(

  • iOS push侧滑返回功能实现方法

    本文实例为大家分享了iOS push侧滑返回功能的具体代码,供大家参考,具体内容如下 开启iOS自带的push的侧滑返回功能(只有左侧边缘地带响应侧滑返回,并不是全局响应): - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { [self.navigationContr

  • iOS 自定义返回按钮保留系统滑动返回功能

    先给大家展示下效果图:  1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使用导航栏push出一个控制器,我们在控制器中自定义了一个返回按钮.这样系统默认的滑动返回手势效果就没有了. 2.解决方法 [1]从A这个控制器push到B这个控制器,我们想要自定义B的返回按钮,我们可以在A中设置 self.navigationItem.backBarButtonItem = [[UIBarButtonItem

  • IOS 集成微信支付功能的实现方法

    IOS 集成微信支付功能的实现方法 第一步:集成微信的SDK https://pay.weixin.qq.com/wiki/doc/api/index.html 点击进入 下载对应SDK或示例,最后可以看看示例程序 第二步:在Xcode中填写微信开放平台申请的Appid Xcode>info>URL Types  中新建加入Appid 第三步:在Appdelegate.m 中注册微信支付 和回调 #import "WXApi.h" 添加 代理 WXApiDelegate -

  • ios微信浏览器返回不刷新问题完美解决方法

    开始用的表单提交,返回参数就丢失,换成url跳转,popstate监听 (注释部分)ios10测试始终有问题,继续搜,最后用pageshow,pagehide完美解决(另外说一句:珍爱生命,远离微信和ios) var wxback = { init :function(){ //隐藏微信分享按钮等 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { WeixinJSBridge.call('hid

  • iOS 纯代码写个侧滑栏功能

    代码原理就是使用UIView并对其移动来完成,一个twoView作为侧滑栏,一个oneView作为主界面,需要弹出侧滑栏时对twoView向右移动200,当隐藏侧滑栏时,向左移动200就行了,twoVIew初始的x地址为-200. #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> @property (stro

  • iOS中仿QQ侧滑菜单功能

    UITabBarController做QQ侧滑菜单效果: 首先要了解UITabBarController的层级结构: UITabBarController加载的其它UIViewController的View都是被添加在UITransitionView上(这是一个私有API),UITransitionView在self.view的0层,UITabBar在的第一层. 所以我的思路是这样的: UITransitionView与UITabBar转移到一个新的View1上去,作为滑动的部分: 在View1

  • iOS中Swift指触即开集成Touch ID指纹识别功能的方法

    1.前言 随着移动支付时代的到来,Touch ID 指纹验证迅速被支付宝,微信钱包普及,相信各位朋友使用后也大呼方便.今天写一篇关于指纹解锁的文章. 关于3D Touch 感兴趣的朋友可以看我前篇blog *    iOS- 指压即达,如何集成iOS9里的3D Touch http://www.jb51.net/article/108922.htm 2.指纹验证Touch ID的介绍 相比3D Touch来说,指纹验证Touch ID 的使用比较简单 主要分成两步 1.第一步当然是检测你的手机是

  • requireJS模块化实现返回顶部功能的方法详解

    本文实例讲述了requireJS模块化实现返回顶部功能的方法.分享给大家供大家参考,具体如下: 引用requireJs <script src="require.js" data-main="main"></script> html部分 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"&g

随机推荐