`
linwwwei
  • 浏览: 222782 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自定义导航控制器全屏滑动返回效果

 
阅读更多
- (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;
}
分享到:
评论

相关推荐

    导航控制器全屏滑动返回

    标题"导航控制器全屏滑动返回"指的是在使用导航控制器时,实现一个特殊的效果:无论通过何种方式push进新的ViewController,用户都可以通过在屏幕左侧滑动来实现返回操作,而且这种返回动画覆盖整个屏幕,增强了用户...

    ios-pop手势 全屏滑动,自定义导航.zip

    在自定义导航部分,你可能需要创建一个自定义的UINavigationController子类,重写其中的方法以实现滑动导航。比如,`- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated` 方法...

    自定义导航、标签,多个TabBarController,手势滑动返回

    在iOS应用开发中,自定义导航栏(NavigationBar)和TabBarController的使用是非常常见的需求,而手势滑动返回更是提升用户体验的重要功能。以下是关于这些知识点的详细解析: 首先,我们来看自定义导航栏。系统自带...

    iOS导航控制器实现全屏侧滑返回demo

    总的来说,iOS导航控制器的全屏侧滑返回功能通过引入第三方库和自定义手势识别器得以实现,这为用户提供了一种直观且优雅的导航方式。在实际开发中,不断优化和完善这些细节,可以极大地提升应用的用户体验。

    ios-将系统返回手势拦截到自定义手势上(全屏返回).zip

    6. **PopVC示例**:在提供的"PopVC"文件中,很可能包含了一个具体的视图控制器类,它展示了如何在初始化或加载视图时执行以上步骤,将系统返回手势拦截并替换为自定义的全屏滑动手势。 通过这种方法,你可以在保持...

    全屏滑动返回效果 iOS

    在iOS应用开发中,全屏滑动返回效果是一种常见的交互设计,它...通过学习和理解`BBGestureBack`的实现,开发者不仅可以为自己的应用增加全屏滑动返回功能,还能深入理解手势识别和导航控制器的定制,提升iOS开发技能。

    学习iOS自定义导航控制器UINavigationController

    为了实现全屏的滑动返回效果,我们需要禁用系统默认的手势并添加自定义的UIPanGestureRecognizer。这样,用户在屏幕的任意位置向左滑动都可以触发返回操作。 ```objc - (void)viewDidLoad { // 添加自定义滑动...

    ios-快速实现navigationController全屏滑动返回的分类.zip

    现在,为了使所有使用这个导航控制器的实例都能应用这个全屏滑动返回的效果,我们需要在app的AppDelegate中调用初始化方法: ```swift @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate ...

    简单易用的全屏导航控制器 Swift 5.0.zip

    XYNav可能是这个全屏导航控制器的自定义类名,它可能扩展了UINavigationController,添加了全屏滑动、动画效果等特性的实现。开发者可能通过重写父类的一些方法,比如pushViewController(_:animated:)和...

    jquery全屏实现滑动多种自定义效果源码下载

    本教程将深入探讨如何利用jQuery实现全屏滑动多种自定义效果。 一、jQuery基础 在开始之前,我们需要对jQuery的基本语法和选择器有一定的了解。jQuery是一个JavaScript库,它简化了DOM操作、事件处理以及动画效果...

    ios-导航控制器统一右滑返回.zip

    本项目"ios-导航控制器统一右滑返回.zip"着重解决了一个特定问题:如何自定义导航控制器,实现一个统一的右滑手势,使用户可以方便地通过手势动画返回上一级控制器。接下来,我们将详细探讨这个知识点。 首先,我们...

    swift-Navigationtoolbar-滑动建模的UI导航控制器

    4. **视图控制器的动画**:滑动导航栏的实现往往伴随着视图控制器的动画效果,例如视图的淡入淡出、滑动进入和离开等。这可能涉及到使用`UIView animations`或者`Core Animation`来创建复杂的动画序列。 5. **Auto ...

    iOS如何present出一个透明导航控制器NavigationController

    通过以上步骤,你可以成功地在iOS应用中实现一个透明的导航控制器,同时附带毛玻璃效果。这将为用户提供独特的视觉体验,同时保持应用的可读性和易用性。在实际开发中,可以根据项目需求调整效果和细节,以达到最佳...

    ios-全屏返回.zip

    在iOS中,每个导航控制器(UINavigationController)都内置了一个左侧滑动的手势识别器,用户可以通过这个手势来触发返回上一个视图控制器的操作。这个手势的target通常是导航控制器本身,而action是它的`...

    Swiper_触屏滑动全屏3D翻页

    Swiper是一款广泛应用于网页设计中的触屏滑动插件,尤其在创建全屏3D翻页效果时,它显得尤为出色。Swiper以其强大的功能、灵活的配置和良好的跨平台性能,深受前端开发者喜爱。本篇文章将深入探讨Swiper的核心特性、...

    iOS滑动全屏实现返回功能

    在`BaseNavigationController.h`文件中,我们声明`BaseNavigationController`继承自`UINavigationController`,并添加`<UIGestureRecognizerDelegate>`协议,因为我们将自定义手势识别器来处理全屏滑动返回: ...

    jQuery实现手机图片全屏滑动轮播效果特效源码(拖拽切换).zip

    在本资源中,我们关注的是一个使用jQuery库创建的手机图片全屏滑动轮播效果。这个特效允许用户通过在屏幕上拖动或点击导航按钮来切换全屏展示的图片,为移动设备提供了一种交互性强且视觉效果丰富的用户体验。下面...

    HTML5全屏图文左右滑动切换特效.zip

    3. **JavaScript/jQuery逻辑**:绑定滑动手势事件,比如使用`swipe`插件或者自定义事件监听器。当检测到滑动事件时,更新显示的内容,同时触发动画效果。 4. **响应式设计**:为了适应不同设备的屏幕尺寸,特效需要...

    swift-ZFNavigationController播放视频动画时候滑动返回不卡顿

    在默认情况下,当一个带有全屏视频或动画的控制器被压入导航栈时,用户尝试滑动返回时可能会由于视频播放的处理而导致动画卡顿。`ZFNavigationController`通过自定义手势识别和响应机制解决了这个问题,确保滑动返回...

    jQuery滑动切换全屏选项卡代码.zip

    【jQuery滑动切换全屏选项卡代码】是一个用于创建动态且具有全屏视觉效果的选项卡切换功能的JavaScript实现,特别适用于网站导航或内容展示。这个代码基于流行的jQuery库,利用其强大的DOM操作和事件处理能力,实现...

Global site tag (gtag.js) - Google Analytics