解耦:iOS 多标签切换

多标签切换界面解耦,分散代码,避免一个类中代码成千上万行;

思路简单, 效果很好;

思路: 当前控制器添加其他控制器为子控制器, 根据标签切换显示子控制器的View, 关键是新建一个UIView做容器;

网上虽然有许多现成的轮子,但是建议自己亲手实现一次,彻底理解之后再使用现成的轮子。我们既要知道怎么用,又要知道为什么;造轮子才是程序员的核心能力。

OneViewController *viewController1 = [[OneViewController alloc] init];
[self addChildViewController:viewController1];

TwoViewController *viewController2 = [[TwoViewController alloc] init];
[self addChildViewController:viewController2];

ThreeViewController *viewController3 = [[ThreeViewController alloc] init];
[self addChildViewController:viewController3];

FourViewController *viewController4 = [[FourViewController alloc] init];
[self addChildViewController:viewController4];

FiveViewController *viewController5 = [[FiveViewController alloc] init];
[self addChildViewController:viewController5];


- (void)goChangeViewWithIndex:(NSInteger)index{

UIView *view = [[self.childViewControllers firstObject]view];
if ([self.typeCar isEqualToString:@"0"]) {
    view = [self.childViewControllers[index] view];
    
}else{
    switch (index) {
        case 0:
        {
            view = [self.childViewControllers[3] view];

        }
            break;
        case 1:
        {
            view = [self.childViewControllers[4] view];

        }
            break;
        default:
            break;
    }
}
  [self.containView addSubview:view];
  [self.containView bringSubviewToFront:view];
}
image

[图片上传中...(image-56e933-1510043511141-3)]

image
image
image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容