• 控制器的切换(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]; 

    }

    一个人,一片天,一条路,一瞬间!
  • 相关阅读:
    Permission Denial: opening provider 隐藏的android:exported属性的含义
    GPL & Apache License
    JAVA把毫秒数转换成日期
    Android开发–Intent-filter属性详解
    [转]unix/linux中的dup()系统调用
    【转载】技术的正宗与野路子
    virtualbox -centos ping不通外网
    GNU Make 手册中文版
    Git源码学习
    git-gui
  • 原文地址:https://www.cnblogs.com/zcl410/p/4888408.html
Copyright © 2020-2023  润新知