• 利用SegmentedControl切换控制器的view


    #import "ViewController.h"

    #import "OneViewController.h"

    #import "TwoViewController.h"

     

    @interface ViewController ()

    @property (nonatomic, strong) UISegmentedControl *segmentedControl;

    @property (nonatomic, strong) UIViewController *currentViewController;

    @end

     @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

      self.segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"第一个视图",@"第二视图"]];

        self.segmentedControl.frame = CGRectMake(0, 0, 150, 30);

        self.navigationItem.titleView = self.segmentedControl;

        [self.segmentedControl addTarget:self action:@selector(segmentedControl:) forControlEvents:UIControlEventValueChanged];

        _segmentedControl.selectedSegmentIndex = 0;

        

        OneViewController *oneVC = [[OneViewController alloc] init];

        [self addChildViewController:oneVC];

        

        TwoViewController *twoVC = [[TwoViewController alloc] init];

        [self addChildViewController:twoVC];

        

        [self setSelectController:0];

    }

     

    - (void)segmentedControl:(UISegmentedControl*)scc{

        

        [self setSelectController:scc.selectedSegmentIndex];

    }

     

    - (void)setSelectController:(NSInteger)index{

        UIViewController *vc = [self.childViewControllers objectAtIndex:index];

        if (vc == self.currentViewController) {

            return;

        }

        [self.currentViewController.view removeFromSuperview];

        vc.view.frame = CGRectMake(0, 0, 320, 200);

        [self.view addSubview:vc.view];

         _currentViewController = vc;

    }

  • 相关阅读:
    SCCM2012 R2实战系列之七:软件分发(exe)
    man 手册--nc
    挂载虚拟机磁盘文件
    bond模式详解
    Windows下计算md5值
    man手册--iostat
    mount---挂载文件系统
    Linux-swap分区
    sync---强制将被改变的内容立刻写入磁盘
    vmstat---有关进程、虚存、页面交换空间及 CPU信息
  • 原文地址:https://www.cnblogs.com/qiumuan/p/5158225.html
Copyright © 2020-2023  润新知