[iOS]iOS中UITabbarController左右滑动切换

iOS中UITabbarController左右滑动切换;UIViewController左右滑动;滑动切换;UITabbarController左右切换


转载请注明出处:http://blog.csdn.net/infant09/article/details/48773281


在经典的带有tabbar的app中,一般是引入一个UITabbarController,再添加多个UIViewController实现的。一般通过点击不同的UITabbarItem,实现不同的UIViewController切换。目前许多经典的app都是这样切换的,比如微信、微博以及iPhone自带的一些应用等等。

有时候也会有特殊的需求,比如要求左右滑动实现UIViewController的切换(例如android版的微信、QQ就可以这样,当然iOS版不这样,个人觉得可能和左右滑动会误操作有关?)。这时候如何实现呢?


思路1:在每个UIViewController中添加Pan手势,实现切换。

原理很简单,即为每个View添加Pan手势,能够左右滑动。当滑动过半的时候,tabbar切换页面。并且当每个ViewController DidAppear后,将左右两边的Controller渲染出来,添加到当前的View中(成为subView)。


下面给出一个例程。

0x00.新建一个project

选择新建一个“Tabbed Application”


0x01.补全storyboard和4个ViewController,并连接

新建出来的project包含一个TabBarController和2和ViewController,再补全两个ViewController即可。修改各个ViewController上的文字和颜色。最后按control键连接TabBarController和ViewController,选择“Relationship Segue”。

0x02.对每个ViewController增加手势

做到左右滑动的关键点,即为每个ViewController的self.view增加一个Pan手势。以SecondViewController为例,在viewDidLoad中添加:

    //添加左右滑动手势pan
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
    [self.view addGestureRecognizer:pan];

并添加handlePan:方法:

- (void) handlePan:(UIPanGestureR
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: UITabBarControlleriOS 开发常用的一个控件,用来实现 TabBar 界面,即底部导航栏,在不同的选项卡之间进行切换。它继承自 UIViewController,并且包含多个子视图控制器。 UITabBarController 在创建时,需要设置一组子视图控制器,每个子视图控制器对应一个选项卡。通过设置子视图控制器的 tabBarItem 属性,可以为每个选项卡设置标题、图标和选图标。 UITabBarController 提供了默认的 TabBar,可以在底部显示各个选项卡,用户可以通过点击不同的选项卡切换到对应的子视图控制器。TabBar 的选项卡数量可以根据需要进行增加或减少。 UITabBarController 还提供了一些常用的方法和属性,例如 selectedIndex 属性用于设置当前选的选项卡索引,selectedViewController 属性可以直接设置当前选的子视图控制器,还可以通过设置 delegate 属性来监听选项卡的点击事件,并进行相应的处理。 通过 UITabBarController,可以很方便地实现底部导航栏的效果,提供快速导航和界面切换的功能。同时,UITabBarController 还可以与其他控件和容器视图进行结合,实现更丰富的界面交互和用户体验。在应用程序,可以使用 UITabBarController 来构建各种复杂的导航结构,满足不同的需求。 ### 回答2: UITabBarControlleriOS常用的一个控件,它可以以标签页的形式展示多个视图控制器。UITabBarController继承自UIViewController,因此可以作为一个容器来管理其他视图控制器。 UITabBarController提供了一个标签栏,可以通过点击不同的标签来切换显示不同的视图控制器。每个标签对应一个视图控制器,并且可以自定义每个标签的标题和图标。用户点击标签时,UITabBarController会自动把对应的视图控制器添加到界面上,并且移除之前显示的视图控制器。 UITabBarController还可以通过代码控制切换显示的视图控制器,通过设置selectedViewController或selectedIndex属性来实现。同时,UITabBarController还提供了一些方法和代理,用于控制标签栏的外观和行为。 在使用UITabBarController时,我们首先需要创建一个UITabBarController对象,并且设置它的viewControllers属性,把需要显示的视图控制器添加进去。然后,我们可以设置UITabBarController的其他属性,如tabBar.tintColor来设置标签栏的颜色,tabBar.backgroundImage来设置背景图片等。 综上所述,UITabBarControlleriOS一种常用的容器控件,可以方便地管理和切换多个视图控制器,使应用界面更加直观和易于使用。通过使用UITabBarController,我们可以实现多个功能页面之间的切换,提升用户体验。 ### 回答3: UITabBarControlleriOS的一个视图控制器,它通常用于创建具有多个标签页的应用程序界面。UITabBarController提供了一个标签栏,用户可以通过点击不同的标签来切换不同的子视图控制器。每个标签对应一个子视图控制器,可以用来展示不同的内容或功能。 UITabBarController具有以下特点: 1. 简化用户界面:通过使用UITabBarController,可以将复杂的功能划分为各个子视图控制器,每个子视图控制器专注于一个特定的功能。这样用户可以通过点击不同的标签来切换功能,简化了界面。 2. 自带导航功能:UITabBarController内置了导航栏,可以方便地在不同的子视图控制器之间进行导航。用户在不同的功能之间切换时,可以通过导航栏进行前进和后退操作。 3. 可自定义选项卡:UITabBarController可以自定义选项卡的外观,包括选项卡的图标、标题和顺序等。开发者可以根据应用程序的设计需求,调整选项卡的样式。 4. 支持多层次嵌套:UITabBarController支持将其他视图控制器嵌套在子视图控制器,从而实现多层次的功能切换。例如,可以将一个UITabBarController嵌套在另一个UITabBarController,实现更复杂的功能结构。 总结而言,UITabBarController是一个方便实现多标签功能的视图控制器,可以简化用户界面,提供导航功能,支持自定义选项卡外观,以及多层次的嵌套功能。在开发iOS应用程序时,可以使用UITabBarController来创建多标签的界面,提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值