iOS开发项目之四 [ 调整自定义tabbar的位置与加号按钮的位置]

自定义tabbar与按钮的添加

01 - 把系统的tabbar用我们自己的覆盖

 

 LHQTabBar *lhqTabBar = [[LHQTabBar alloc]init];

    

    [self setValue:lhqTabBar forKeyPath:@"tabBar"];



02 对于系统私有的属性,可以通过运行时或者KVC

 

03 设置每个tabbar的位置

 

 

 //2 调整UItabbarBtn的大小

    //2.1先定义每个tabbar的宽度

    CGFloat tabbarBtnW = self.width *0.2;

    //2.2for 循环遍历所有的子控件

    

    NSInteger index = 0;

    for (int i = 0;i < self.subviews.count;i++){

        //2.3 拿到每一个子控件

        UIView *view = self.subviews[i];

        //2.4判断是否是UITabBarButton这个子控件

        if([viewisKindOfClass:NSClassFromString(@"UITabBarButton")]){

            view.width = tabbarBtnW;

            view.x = index*tabbarBtnW;

        

                index ++;

            if(index == 2){

                index++;

                

            }

//

//            if(index == 1){

//                index++;

//                

//            }

//              index ++;

            

        }

        

    }

    

 



04   什么时候用代理,什么时候用block

如果一个自定义控件要抛出的消息比较多用代理,如果一个或者两个的话,用block也没有问题

 

代理跟协议的区别

协议是写好的规则,代理是要遵守的东西

原文地址:https://www.cnblogs.com/LiLihongqiang/p/5545656.html