你的位置:首页 > 操作系统

[操作系统]iOS开发小功能之九:五句代码搞定简单的父子控制器

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

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

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

#import "ViewController.h"#import "ZWOneViewController.h"#import "ZWTwoViewController.h"#import "ZWThreeViewController.h"@interface ViewController ()/** 正在显示的控制器 [email protected] (weak, nonatomic)UIViewController *showingVC;/** 控制器数组 [email protected] (strong, nonatomic)NSArray *allVCs; [email protected]@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、由于是索引,一定要注意三个控制器的顺序,否则会出现点击后出现其它控制器。如下图:


贵州旅游必去的地方是贵州旅游必去景点排名贵州旅游地图线路大全贵州旅游多少钱贵州旅游攻略大全日照刘家湾赶海园门票价格是多少、开放时间是什么时候? 在布里斯班必做的五件事 珠海一棵树休闲农庄优惠价?一棵树农庄怎么收费? 日照刘家湾赶海园在哪里,怎么去? 宝墨园和南粤苑一天时间能逛完吗?宝墨园南粤苑套票可以预订吗? 宝墨园景区的特色与创新?南粤苑是宝墨园的一部分吗? 宝墨园南粤苑好玩吗?番禺宝墨园南粤苑有什么看点? 宝墨园南粤苑门票可以单独买吗?宝墨园和南粤苑有联票吗? 西安海洋馆表演时间?西安曲江海洋馆表演节目有什么? 曲江海洋馆有学生票吗?西安曲江海洋馆优惠票怎么买? 徐州怎么去焦作神农山?神农山怎么走? 曲江海洋馆营业时间?西安曲江海洋馆表演几点开始? 春节回家给父母带什么最贴心? 春节旅游要谨防哪些陷阱? 小孩子可以泡温泉吗? 自助游需要准备什么? 556-3205-304F Datasheet 556-3205-304F Datasheet 556-3207-304 Datasheet 556-3207-304 Datasheet 556-3207-304F Datasheet 556-3207-304F Datasheet 河源去土库曼斯坦旅游 河源去土库曼斯坦旅游 河源去土库曼斯坦旅游 河源去托克劳旅游 河源去托克劳旅游 河源去托克劳旅游 河源去瓦利斯与富图纳旅游 河源去瓦利斯与富图纳旅游 河源去瓦利斯与富图纳旅游