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

[操作系统]iOS开发小功能之九:父子控制器简单应用


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

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

直接代码:(三个控制器自己创建)

 1 #import "ViewController.h" 2 #import "ZWOneViewController.h" 3 #import "ZWTwoViewController.h" 4 #import "ZWThreeViewController.h" 5 @interface ViewController () 6 /** 正在显示的控制器 */ 7 @property (weak, nonatomic)UIViewController *showingVC; 8 @end 9 @implementation ViewController10 11 - (void)viewDidLoad {12   [super viewDidLoad];13   //添加到子控制器上14   [self addChildViewController:[[ZWOneViewController alloc] init]];15   [self addChildViewController:[[ZWTwoViewController alloc] init]];16   [self addChildViewController:[[ZWThreeViewController alloc] init]];17 }18 - (IBAction)buttonClick:(UIButton *)button {19   //移除当前显示的控制器20   [self.showingVC.view removeFromSuperview];21   //获得控制器的位置索引22   NSUInteger index = [button.superview.subviews indexOfObject:button];23   //添加控制器View24   self.showingVC = self.childViewControllers[index];25   //设置尺寸26   self.showingVC.view.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height - 64);27   //添加到控制器上28   [self.view addSubview:self.showingVC.view];29 }
30 @end

 

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

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




巴厘岛旅游去哪好巴厘岛旅游团报价优惠巴厘岛蜜月旅游行程参考巴厘岛特价旅游多少钱到巴厘岛游费用报价大全探秘嘉绒圣地 川西马尔康自驾之旅 英德天门沟九州驿站开车路线?英德天门沟风景区自驾要多久? 英德天门沟有直达车吗?九州驿站英德天门沟站在哪里坐车? 故乡里主题公园有直达车吗?清远故乡里在哪里坐车? 梅州客天下客家小镇怎么收费?客天下客家小镇要门票吗? 呀诺达教师节活动?三亚呀诺达教师有什么优惠? 深圳欢乐海岸麦鲁小镇怎么玩?欢乐海岸麦鲁小镇游玩项目有哪些? 北京欢乐谷有什么好玩的? 2015年大唐芙蓉园门票多少钱一张?西安大唐芙蓉园门票包含什么项目? 大唐芙蓉园门票预定?西安大唐芙蓉园门票团购便宜吗? 大唐芙蓉园门票价格2015?西安大唐芙蓉园订票? 王子谷漂流小孩能漂吗?千岛湖富文王子谷漂流适合多大的儿童玩? 春节去厦门旅游天气怎么样?穿什么衣服? 用过的实名制火车票可以扔掉吗? 春节去桂林旅游天气怎么样?穿什么衣服? 2015年过年回家票价会涨吗? 556-3337-804 Datasheet 556-3337-804 Datasheet 556-3337-804F Datasheet 556-3337-804F Datasheet 556-3337-817 Datasheet 556-3337-817 Datasheet 内蒙古赤峰市香港游 内蒙古赤峰市香港游 内蒙古赤峰市香港游 南京香港旅游 南京香港旅游 南京香港旅游 乌鲁木齐香港游 乌鲁木齐香港游 乌鲁木齐香港游