zoukankan      html  css  js  c++  java
  • UITabBar的定制

    在定制UITabBar时要继承与UITabBarController

    - (void)viewWillAppear:(BOOL)animated{

        [super viewWillAppear:animated];

        //1.获取subView

        NSArray *subView = self.tabBar.subviews;

         //2.遍历出subView上所有的

        for (UIView *view in subView) {

            NSLog(@"%@",view);

        }

         //3.UITabBarButton  字符串转换成类

        Class tabBarButton = NSClassFromString(@"UITabBarButton");

         //4.遍历类,如果是按钮 就移除

        for (UIView *item in subView) {

            //判断subViews上的控件是否属于 UITabBarButton类 如果属于将其移除,否则继续循环

            if ([item isKindOfClass:tabBarButton]) {

                [item removeFromSuperview];

            }

        }

        //创建存放tabBar上控件的子视图

        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, self.tabBar.frame.size.height)];

        view.backgroundColor = [UIColor purpleColor];

        [self.tabBar addSubview:view];

         int r  = 3;

        CGFloat padding = (self.tabBar.bounds.size.width - 50 *r) / (r+1);

        for (int i = 0; i < r; i++) {

            UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

            button.frame = CGRectMake(padding*(i+1)+50*i, 0, 50, self.tabBar.frame.size.height);

            button.backgroundColor = [UIColor orangeColor];

           button.tag = i+100;

            //点击事件

            [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];

            [view addSubview:button];

        }

    }

    //通过tag值找到对应的界面

    - (void)buttonAction:(UIButton *)btn{

       self.selectedIndex = btn.tag - 100;

    }

  • 相关阅读:
    Co.
    编程
    编程
    编程
    数据同步
    Co.
    Co.
    Co.
    Co.
    sss
  • 原文地址:https://www.cnblogs.com/wen-1992/p/4756697.html
Copyright © 2011-2022 走看看