添加子控制器

作者: LSRain | 来源:发表于2016-11-09 18:22 被阅读67次

    在一些应用中,有这样的场景:
    在控制器A中需要处理很多逻辑,那么可以将另一个控制器B来作为A的子控制器,帮助A分担一些逻辑处理

    起到降低耦合度的作用

    childVC.png

    如:这里定义了3个控制器WBSportMainViewControllerWBSportingViewControllerWBMapViewController,需要将WBMapViewController作为WBSportingViewController的子控制器

    WBSportMainViewController主控制器,负责业务分发

    - (IBAction)sportBtnAction:(UIButton *)sender {
        
        WBSportType type = sender.tag;
        
        WBSportingViewController *sportVC = [WBSportingViewController new];
        sportVC.sportType = type;
        
        [self presentViewController:sportVC animated:YES completion:nil];
    }
    

    WBSportingViewController

    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.view.backgroundColor = [UIColor redColor];
        [self setupMapViewController];
    }
    
    - (void)setupMapViewController{
        WBMapViewController *mapVC = [WBMapViewController new];
        [self addChildViewController:mapVC];
        [self.view addSubview: mapVC.view];
        mapVC.view.frame = self.view.bounds;
        
        mapVC.sportTracking = [[WBSportTracking alloc]initWithType:_sportType];
        [mapVC didMoveToParentViewController:self];
    }
    

    注意在添加自控制的时候,不要忘记将子�控制器的视图也添加到父控制器中,否则��子控制的view就显示不出来了

    WBMapViewController

      self.view.backgroundColor = [UIColor yellowColor];
    

    这样便将WBMapViewController设置为了WBSportingViewController的子控制器了

    vc.png

    相关文章

      网友评论

        本文标题:添加子控制器

        本文链接:https://www.haomeiwen.com/subject/ohltpttx.html