码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发小功能之九:五句代码搞定简单的父子控制器

时间:2016-05-02 18:22:16      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

小码哥大神的代码,确实精简!

1、最终结果如下面三个图,点击one,two,three,分别出现3个不同的控制器

技术分享技术分享技术分享

直接代码:(三个控制器的创建就上了)

#import "ViewController.h"
#import "ZWOneViewController.h"
#import "ZWTwoViewController.h"
#import "ZWThreeViewController.h"
@interface ViewController ()
/** 正在显示的控制器 */
@property (weak, nonatomic)UIViewController *showingVC;
/** 控制器数组 */
@property (strong, nonatomic)NSArray *allVCs; //代替控制器的三个属性

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.allVCs = @[
                    [[ZWOneViewController alloc] init],
                    [[ZWTwoViewController alloc] init],
                    [[ZWThreeViewController alloc] init]
                    ];
}
- (IBAction)buttonClick:(UIButton *)button {
    //移除当前显示的控制器
    [self.showingVC.view removeFromSuperview];
    //获得控制器的位置索引
    NSUInteger index = [button.superview.subviews indexOfObject:button];
    //添加控制器View
    self.showingVC = self.allVCs[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];
}

注:1、扩展性非常好,直接数组中添加需要添加的控制器

  2、由于是索引,一定要注意三个控制器的顺序,否则会出现点击后出现其它控制器。如下图:

技术分享

iOS开发小功能之九:五句代码搞定简单的父子控制器

标签:

原文地址:http://www.cnblogs.com/hissia/p/5452713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!