storyboard中TabBarController开发示例

本文详细介绍如何使用 iOS 的 TabBarController 实现常见的多视图切换功能,并讲解如何配置导航栏、添加图标、显示二级页面底部标签栏及实现 tab 选中监听等功能。

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

采用TabBarController实现过程非常简单,由于TabBarController默认生成的view是不带标题栏的,所以还需要结合navigation Controller。另外在此简单介绍了tabBar的隐藏显示,选中监听,以及icon右上方小角标的显示。

下面通过例子说明:下载地址

1.  创建一个Single View应用

路径为 File> New> New Project-Single View Application

2.  添加TabBarController

删除原storyboard中的firstResponder view.在对象库中拖一个Tab Bar Controller到storyboard中。

它默认带两个tab。自行添加第三个tab.在对象库中拖一个ViewController到面板中。选中TabBarController的底部,然后按住control键,同时拖向第三个View。在弹出的选项中,选择Relationship segue的viewControllers。这样会在TabBarController的底部生成第三个图标。

3.  一级页面加上title栏

此时三个view的上方是没有标题栏的。需要前置一个navigation.选中一个view.然后选择菜单Editor->Embedin->navigation controller。生成下面这种布局。

4.  添加图标。选择Navigation Controller下方的空白图标,在attributes inspector中设置tab名称和图标。

5.  一级页面跳转到二级页面时,显示二级页面的bottomBar

在一级页面设置一个button,让它指向一个二级页面,默认情况下,tabBar是不会消失的。如果二级页面也有一个bottomBar需要显示,这时可以勾选二级页面的hides Bottom Bar onpush选项。

或者用代码实现。在二级页面关联的viewController.m中加入方法(viewDidAppear,view生命周期方法),

-(void)viewDidAppear:(BOOL)animated{

    self.tabBarController.tabBar.hidden=YES;

}

同时在那个一级页面关联的viewController.m中加入方法

-(void)viewDidAppear:(BOOL)animated{

   self.tabBarController.tabBar.hidden=NO;

}

6.  识别点击了哪一个tab

新建一个UITabBarController,与tabBarViewController关联,然后在实现中加入方法

-(void)tabBar:(UITabBar *)tabBardidSelectItem:(UITabBarItem *)item{

   if (item == [self.tabBar.items objectAtIndex:0]){

       NSLog(@"item0 is selected");

   }else if (item == [self.tabBar.items objectAtIndex:1]){

       NSLog(@"item1 is selected");

   } else if (item == [self.tabBar.items objectAtIndex:2]){

       NSLog(@"item2 is selected");

   }

}

7.  显示小角标

此外UITabBarItem还有一个属性badgeValue,通过设置该属性可以在其右上角显示一个小的角标,通常用于提示用户有新的消息,使用很简单。

在对应的TabView中实现以下语句即可。

self.navigationController.tabBarItem.badgeValue=@"5";

如果没有前置的naviegationController.就直接调用self.tabBarItem.badgeValue=@"5";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值