zoukankan      html  css  js  c++  java
  • 1.自定义控制器切换<一>

    一.自定义控制器切换:在同一个控制器上,展示不同的控制器,类似于tabbar一样

    二.怎么做?(问题解决步骤)

    1.创建若干控制器:OneViewController TwoViewController .....

    2.定义一个现实的控制器:

    //定义:

    @property (nonatomic, weak) UIViewController *showingVc;

     self.childViewControllers= @[

                         [[ZSOneViewController alloc] init],

                         [[ZSTwoViewController alloc] init],

                         [[ZSThreeViewController alloc] init]

                         ];

    //或者

     [self addChildViewController:[[ZSOneViewController alloc] init]];

        [self addChildViewController:[[ZSTwoViewController alloc] init]];

        [self addChildViewController:[[ZSThreeViewController alloc] init]];

    3.核心步骤:3.1.移除现实控制器上的视图-->获取到要显示的控制器,并且赋值给显示的控制器-->将显示的控制器添加到主控制器上

      // 移除其他控制器的view

         [self.showingVc.view removeFromSuperview];

        // 获得控制器的位置(索引)

        NSUInteger index = [button.superview.subviews indexOfObject:button];

        // 添加控制器的view

        self.showingVc = self.childViewControllers[index];

        self.showingVc.view.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height - 64);

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

    //知识点补充:

    //将第一个控制器从childViewControllers数组中移除

    [self.childViewControllers[0] removeFromParentViewController];

  • 相关阅读:
    古人诗词之王安石
    关于周期函数的命题
    Strum—Lioville问题
    计算反常积分
    【面积原理】计算级数和
    【洛谷P6046】纯粹容器
    【洛谷P3631】方格染色
    【牛客挑战赛48 E】速度即转发
    【CF103D】Time to Raid Cowavans
    【洛谷P4280】逆序对
  • 原文地址:https://www.cnblogs.com/qitiandasheng/p/5544829.html
Copyright © 2011-2022 走看看