iOS 自定义tabbar中间按钮 超简单方法
在iOS原生的tabbar中,能够实现按钮的点击事件,能够实现视图控制器的切换等。但是,在实际的开发中,对于一些特殊要求的tabbar系统是实现不了的。这时候需要自定义tabbar了。
下面我介绍一种非常简单的方法
在继承UITabBarController的控制器中
- (void)viewDidLoad {
[super viewDidLoad];
OneViewController *one = [[OneViewController alloc] init];
one.tabBarItem.title = @"第一页";
one.tabBarItem.image = [[UIImage imageNamed:@"tabBar_icon_mine"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
TwoViewController *two = [[TwoViewController alloc] init];
two.tabBarItem.title = @"第二页";
two.tabBarItem.image = [[UIImage imageNamed:@"tabBar_icon_mine"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.middle = [[MiddleViewController alloc] init];
//在这里可以任意替换 你想要的任何图案
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(0, 0, 80,80);
[btn setImage:[UIImage imageNamed:@"tabBar_publish_icon"] forState:UIControlStateNormal];
btn.center = self.tabBar.center;
[btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
btn.y -=10;
ThreeViewController *three = [[ThreeViewController alloc] init];
three.tabBarItem.title = @"第三页";
three.tabBarItem.image = [[UIImage imageNamed:@"tabBar_icon_mine"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
FourViewController *four = [[FourViewController alloc] init];
four.tabBarItem.title = @"第四页";
four.tabBarItem.image = [[UIImage imageNamed:@"tabBar_icon_mine"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.viewControllers = @[one,two,self.middle,three,four];
}
- (void)click{
self.selectedViewController=self.middle;
}
到这里也就结束了
下面是git代码地址 https://github.com/ding1051416875/-tabbar
谢谢大家