控制器的切换(button不在导航栏上)

首先上效果图:

然后上代码:

创建几个用于切换的控制器,分别命名AviewController,BviewController,CviewController,DviewController

创建一个ViewController,在viewController.m中写以下代码就可以轻松实现控制器的切换了

#import "ViewController.h"

#import "AViewController.h"

#import "BViewController.h"

#import "CViewController.h"

#import "DViewController.h"

@interface ViewController ()

@property(nonatomic,strong)AViewController *aVC;

@property(nonatomic,strong)BViewController *bVC;

@property(nonatomic,strong)CViewController *cVC;

@property(nonatomic,strong)DViewController *dVC;

 @end

@implementation ViewController

- (AViewController *)aVC

{

    if (!_aVC) {

        self.aVC = [[AViewController alloc] init];

        self.aVC.view.frame = CGRectMake(0, 110, self.view.frame.size.width, self.view.frame.size.height-110);

    }

    return _aVC;

}

- (BViewController *)bVC

{

    if (!_bVC) {

        self.bVC = [[BViewController alloc] init];

        self.bVC.view.frame =CGRectMake(0, 110, self.view.frame.size.width, self.view.frame.size.height-110);;

    }

    return _bVC;

}

  

- (CViewController *)cVC

{

    if (!_cVC) {

        self.cVC = [[CViewController alloc] init];

        self.cVC.view.frame = CGRectMake(0, 110, self.view.frame.size.width, self.view.frame.size.height-110);

    }

    return _cVC;

}

- (DViewController *)dVC

{

    if (!_dVC) {

        self.dVC = [[DViewController alloc] init];

        self.dVC.view.frame =CGRectMake(0, 110, self.view.frame.size.width, self.view.frame.size.height-110);

    }

    return _dVC;

}

- (IBAction)didClickA:(id)sender {  

    [self.bVC.view removeFromSuperview];

    [self.cVC.view removeFromSuperview];

    [self.dVC.view removeFromSuperview];

    [self.view addSubview:self.aVC.view];   

}

- (IBAction)didClickB:(id)sender {

    [self.aVC.view removeFromSuperview];

    [self.cVC.view removeFromSuperview];

    [self.dVC.view removeFromSuperview];

    [self.view addSubview:self.bVC.view];

}

- (IBAction)didClickC:(id)sender {

    [self.aVC.view removeFromSuperview];

    [self.bVC.view removeFromSuperview];

    [self.dVC.view removeFromSuperview];

    [self.view addSubview:self.cVC.view];

 }

- (IBAction)didClickD:(id)sender {

    [self.bVC.view removeFromSuperview];

    [self.cVC.view removeFromSuperview];

    [self.aVC.view removeFromSuperview];

    [self.view addSubview:self.dVC.view]; 

}

一个人,一片天,一条路,一瞬间!
原文地址:https://www.cnblogs.com/zcl410/p/4888408.html