ios 导航全屏滑动

全屏滑动代码实现


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

- (void)viewDidLoad {

    [super viewDidLoad];

    // 获取系统自带滑动手势的target对象

    id target = self.interactivePopGestureRecognizer.delegate;

    // 创建全屏滑动手势,调用系统自带滑动手势的target的action方法

    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];

    // 设置手势代理,拦截手势触发

    pan.delegate = self;

    // 给导航控制器的view添加全屏滑动手势

    [self.view addGestureRecognizer:pan];

    // 禁止使用系统自带的滑动手势

    self.interactivePopGestureRecognizer.enabled = NO;

}

// 什么时候调用:每次触发手势之前都会询问下代理,是否触发。

// 作用:拦截手势触发

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

{

    // 注意:只有非根控制器才有滑动返回功能,根控制器没有。

    // 判断导航控制器是否只有一个子控制器,如果只有一个子控制器,肯定是根控制器

    if (self.childViewControllers.count == 1) {

        // 表示用户在根控制器界面,就不需要触发滑动手势,

        return NO;

    }

    return YES;

}

时间: 2024-07-31 22:09:07

ios 导航全屏滑动的相关文章

自定义导航全屏滑动返回上一页

- (void)viewDidLoad { [super viewDidLoad]; // 获取系统自带滑动手势的target对象 id target = self.interactivePopGestureRecognizer.delegate; // 创建全屏滑动手势,调用系统自带滑动手势的target的action方法 UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target ac

iOS开发——实用技术OC篇&8行代码教你搞定导航控制器全屏滑动返回效果

8行代码教你搞定导航控制器全屏滑动返回效果 前言 此次文章,讲述的是导航控制器全屏滑动返回效果,而且代码量非常少,10行内搞定. 效果如图: 如果喜欢我的文章,可以关注我,也可以来小码哥,了解下我们的iOS培训课程.陆续还会有更新ing.... 一.自定义导航控制器 目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器. 二.分析导航控制器侧滑功能 效果:导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能. 系统自带的侧滑效果: 分析: 1.导航控制器的view

ios 8行代码教你搞定导航控制器全屏滑动返回效果

一.自定义导航控制器 目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器. 二.分析导航控制器侧滑功能 效果:导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能. 系统自带的侧滑效果: 分析: 1.导航控制器的view自带了滑动手势,只不过手势的触发范围只能在左边. 2.当用户在界面左边拖动,就会触发滑动手势方法,并且有滑动返回功能,说明系统手势触发的方法已经实现了滑动返回功能. 3.为什么说系统手势触发的方法已经实现了滑动返回功能? 原因: 创建滑动手势对象

8行代码教你搞定导航控制器全屏滑动返回效果

http://www.cocoachina.com/ios/20150811/12897.html 作者:@吖了个峥授权本站转载 前言 此次文章,讲述的是导航控制器全屏滑动返回效果,而且代码量非常少,10行内搞定. 效果如图: 如果喜欢我的文章,可以关注我,也可以来小码哥,了解下我们的iOS培训课程.陆续还会有更新ing.... 一.自定义导航控制器 目的:以后需要使用全屏滑动返回功能,就使用自己定义的导航控制器. 二.分析导航控制器侧滑功能 效果:导航控制器默认自带了侧滑功能,当用户在界面的左

一个丝滑的全屏滑动返回手势

一个丝滑的全屏滑动返回手势 全屏返回手势 自 iOS7 之后,Apple 增加了屏幕边缘右划返回交互的支持,再配合上 UINavigationController 的交互式动画,pop 到上一级页面的操作变的非常顺畅和丝滑,从此,我很少再使用点击左上角导航栏上的返回按钮的方式返回了,因为这对单手操作十分不友好:如果一个 App 居然胆敢不支持滑动返回,那离被卸载就不远了. 说到全屏返回手势,首先我感觉这件事本身可能就有问题,毕竟有点反苹果官方的交互,让用户从任意的地方都能够滑 动返回这个交互在国

全屏滑动返回

#import "XMGNavigationViewController.h" @interface XMGNavigationViewController ()<UIGestureRecognizerDelegate> @end @implementation XMGNavigationViewController - (void)viewDidLoad { [super viewDidLoad]; UIPanGestureRecognizer *pan = [[UIPa

iOSUI-导航控制器全屏滑动返回效果

导航控制器默认自带了侧滑功能,当用户在界面的左边滑动的时候,就会有侧滑功能.但是如何实现全屏滑动返回效果? 分析: 第一步分析: 1.导航控制器的view自带了滑动手势,只不过手势的触发范围只能在左边. 2.当用户在界面左边拖动,就会触发滑动手势方法,并且有滑动返回功能,说明系统手势触发的方法已经实现了滑动返回功能. 3.为什么说系统手势触发的方法已经实现了滑动返回功能? 原因: 创建滑动手势对象的时候,需要绑定监听者,当触发手势的时候会调用target的action. UIPanGesture

全屏滑动

系统自带的手势是UIScreenEdgePanGestureRecognizer类型对象,屏幕边缘滑动手势 导航控制器全屏滑动注意点: 1.禁止系统自带滑动手势使用. 2.只有导航控制器的非根控制器才需要触发手势,使用手势代理,控制手势触发. 全屏滑动代码实现 - (void)viewDidLoad {     [super viewDidLoad];     // 获取系统自带滑动手势的target对象     id target = self.interactivePopGestureRec

Android 高大上的侧滑菜单DrawerLayout,解决了不能全屏滑动的问题

DrawerLayout预览 DrawerLayout主要功能就是 实现侧滑菜单效果的功能,并且可以通过增加一些设置来实现高大上的效果,那么就请看动态图: 注意左上角那个图标,有木有很好玩,哈哈... 接下来就介绍如何实现这一功能 1. 在项目对应的build.gradle中添加依赖 dependencies { ...//其他代码 compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.android.support:des