iOS 自定义tabbar中间按钮 超简单方法

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

谢谢大家

你可能感兴趣的:(iOS)