zoukankan      html  css  js  c++  java
  • UITabbarController左右滑动切换标签页

    UITabbarController左右滑动切换标签页

    每个Tabbar ViewController都要添加如下代码,建议在基类中添加:
    ViewDidLoad
    UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(tappedRightButton:)];

    [swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];

    [self.view addGestureRecognizer:swipeLeft];

    UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(tappedLeftButton:)];

    [swipeRight setDirection:UISwipeGestureRecognizerDirectionRight];

    [self.view addGestureRecognizer:swipeRight];

    再添加2个函数,包含切换动画效果:

    - (IBAction) tappedRightButton:(id)sender

    {

    NSUInteger selectedIndex = [self.tabBarController selectedIndex];

    NSArray *aryViewController = self.tabBarController.viewControllers;

    if (selectedIndex < aryViewController.count - 1) {

    UIView *fromView = [self.tabBarController.selectedViewController view];

    UIView *toView = [[self.tabBarController.viewControllers objectAtIndex:selectedIndex + 1] view];

    [UIView transitionFromView:fromView toView:toView duration:0.5f options:UIViewAnimationOptionTransitionFlipFromRight completion:^(BOOL finished) {

    if (finished) {

    [self.tabBarController setSelectedIndex:selectedIndex + 1];

    }

    }];

    }

    }

    - (IBAction) tappedLeftButton:(id)sender

    {

    NSUInteger selectedIndex = [self.tabBarController selectedIndex];

    if (selectedIndex > 0) {

    UIView *fromView = [self.tabBarController.selectedViewController view];

    UIView *toView = [[self.tabBarController.viewControllers objectAtIndex:selectedIndex - 1] view];

    [UIView transitionFromView:fromView toView:toView duration:0.5f options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) {

    if (finished) {

    [self.tabBarController setSelectedIndex:selectedIndex - 1];

    }

    }];

    }


    }

  • 相关阅读:
    C#基础知识之GC 垃圾回收
    获取地址栏参数并转化为对象
    input type属性为number时,去掉右边的上下箭头
    vscode用服务打开html
    富文本的原理和插件使用
    原生js拖拽、jQuery拖拽、vue自定义指令拖拽
    js的call()方法
    js继承
    网页禁止复制和解除禁止复制
    ES6-解构赋值
  • 原文地址:https://www.cnblogs.com/wntd/p/6640356.html
Copyright © 2011-2022 走看看