• 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];

    }

    }];

    }


    }

  • 相关阅读:
    Spring框架构造注入的属性问题type属性
    Spring框架AOP添加日志记录功能
    Spring框架构造注入
    Spring框架AOP原理
    Spring框架构造注入的顺序问题index属性
    Spring框架使用P命名空间进行注入
    工作中的SQL脚本
    spring框架ioc设置注入小demo
    [笔试] C和C++动态内存分配和释放的区别
    [算法] 当今世界最为经典的十大算法投票进行时
  • 原文地址:https://www.cnblogs.com/wntd/p/6640356.html
Copyright © 2020-2023  润新知