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

    }

    }];

    }


    }

  • 相关阅读:
    如何退出天擎
    git彻底删除或变更子模块
    湖北校园网PC端拨号算法逆向
    PPPoE中间人拦截以及校园网突破漫谈
    vscode打开django项目pylint提示has not "object" member
    从客户端取到浏览器返回的oauth凭证
    教程视频如何压制体积更小
    windows中的软链接硬链接等
    关于博客园和独立博客的一些打算
    拉勾抓职位简单小爬虫
  • 原文地址:https://www.cnblogs.com/wntd/p/6640356.html
Copyright © 2011-2022 走看看