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

本文介绍了在iOS应用中,如何通过在每个UIViewController中添加Pan手势,实现UITabbarController的左右滑动切换。详细步骤包括在storyboard设置、添加手势识别以及页面切换后的视图管理。此外,还探讨了在UITabbarController中直接添加手势和使用UIPageViewController作为替代方案的可行性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


转载请注明出处:http://blog.youkuaiyun.com/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:(UIPanGestureRecognizer*)recongizer{
    NSLog(@"UIPanGestureRecognizer");
    
    NSUInteger index = [self.tabBarController selec
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值