漫谈TabBar(一)

本文探讨了如何在iOS中手动创建和自定义TabBar,包括改变颜色、调整高度以及尝试修改TabBarItem的位置。通过查看视图层次结构,了解到苹果并未公开某些内部视图信息,但通过一些方法可以了解TabBar的工作原理。然而,由于Apple对TabBar的高度集成,直接修改TabBarItem的大小和位置存在困难,需要遵循其内置规则。
摘要由CSDN通过智能技术生成

UITabbar是ios框架中重要的组件,通常我们一个app只会建立一个tabbar来管理整个app的流程

手动创建一个tabbarcontroller:

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

    timerViewController *timer = [[timerViewController alloc] initWithNibName:@"timerViewController" bundle:nil];
    appleViewController *apple0 = [[appleViewController alloc] initWithNibName:@"appleViewController" bundle:nil];
     appleViewController *apple1 = [[appleViewController alloc] initWithNibName:@"appleViewController" bundle:nil];
     appleViewController *apple2 = [[appleViewController alloc] initWithNibName:@"appleViewController" bundle:nil];
     appleViewController *apple3 = [[appleViewController alloc] initWithNibName:@"appleViewController" bundle:nil];
     appleViewController *apple4 = [[appleViewController alloc] initWithNibName:@"appleViewController" bundle:nil];

    barViewController *bar = [[barViewController alloc] init];

    [bar setViewControllers:[NSArray arrayWithObjects:timer,apple0,apple1,apple2,apple3,apple4, nil]];

    [self.window setRootViewController:bar];

    [self.window makeKeyAndVisible];

    return YES;

ios原生TabBar效果

如果管理的controller超过5个,会自动的变成more的标签。点击more会弹出一个由tabbar管理的tableView,在这不做过多的描述,手册上很清楚。

然后,我们觉得这个原生的TabBar太low了,我们想改一下造型,比如高度,颜色?然后

    bar.tabBar.backgroundColor = [UIColor blueColor];
    CGRect ct = bar.tabBar.frame;
    ct.size.height = ct.size.height * 2;
    [bar.tabBar setFrame:ct];

这里写图片描述

嗯,高度没有变化,颜色变了?好像没有变成我们设定的颜色,不过还挺好看的 。查看手册tabbar的默认高度为49 ,我们自己建立一个tablebarController来探究下, 在viewDi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值