多方式创建多控制器(事例3个控制器)


1.通过xib创建

1.1找到appDelegate的.m文件didfinishLanunching方法

创建window

创建导航控制器

将第一个控制器用导航控制器的push方法加载到导航控制上

将window的跟控制器设置为导航控制器

将window设置为可视化

1.2创建第一个控制器

多方式创建多控制器(事例3个控制器)_第1张图片
如图,创建一个类来管理xib时同时创建一个xib文件,这样直接alloc init就可以加载xib中的view了。

在xib中的view上拖入一个button,并且监听button的点击事件。

在监听事件的方法中创建第二个控制器,并且调用导航控制器的push方法,将第二个控制器加载上去。

多方式创建多控制器(事例3个控制器)_第2张图片

创建第二,三个控制器方法和创建第一个控制器基本一样,区别就是在点击按钮的监听事件中创建相对应的控制器。



2.通过storyboard创建

2.1删除storyboard中的普通viewControler,找到Navigation Controller拖入,并且设置箭头指向Navigation Controller。

2.2设置控制器中的导航栏,导航栏上可以拖入Bar Butoon。

多方式创建多控制器(事例3个控制器)_第3张图片

2.3.将Bar Button用连线的方式连接到下一个控件,选择show。

多方式创建多控制器(事例3个控制器)_第4张图片


3.通过纯代码创建

3.1找到appDelegate的.m文件didfinishLanunching方法

创建window

创建导航控制器

将第一个普通的控制器用到航空器的push方法加载

在普通的控制器上添加一个按钮,并且监听按钮的点击

将window的跟控制器设置为导航控制器

将window可视化

3.2在按钮的点击方法中创建第二个控制器,添加下一个按钮,并且在设置第二个按钮的点击事件。在用导航控制器的push方法,添加第二个控制器。代码如下:

-(void)nextBtnClick{

UIViewController*two = [[UIViewControlleralloc]init];

two.view.backgroundColor= [UIColorblueColor];

UIButton*next2Btn = [[UIButtonalloc]initWithFrame:CGRectMake(100,100,60,30)];

[next2BtnsetBackgroundColor:[UIColorredColor]];

[next2BtnsetTitle:@"下一页"forState:0];

[next2BtnaddTarget:selfaction:@selector(next2BtnClick)forControlEvents:UIControlEventTouchUpInside];

[two.viewaddSubview:next2Btn];

[self.navpushViewController:twoanimated:YES];

}

3.3 添加第三个控制器的的方法和添加第二个基本相同,注意修改push方法中的对象。

用代码创建的控制器,值得注意的是由于导航控制器在第一次使用时只是个局部变量,要想在后面方法使用,就需要将其座位属性。

你可能感兴趣的:(多方式创建多控制器(事例3个控制器))