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


1.通过xib创建

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

创建window

创建导航控制器

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

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

将window设置为可视化

1.2创建第一个控制器

如图,创建一个类来管理xib时同时创建一个xib文件,这样直接alloc init就可以加载xib中的view了。

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

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

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



2.通过storyboard创建

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

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

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


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方法中的对象。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • @(iOS 项目实战)[项目实战] 作者: Liwx 邮箱: 1032282633@qq.com 目录 06.项目...
    Liwx阅读 1,980评论 2 8
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,976评论 4 61
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,716评论 2 4
  • 心里空空的,我想着我哭泣的时候,你正和别人聊着开心的事,我就恨。更多的是恨我自己,为什么重蹈覆辙,画地为牢。为什么...
    周知洋阅读 251评论 0 0
  • 今天上午,2016里约奥运会已经闪亮开幕了。从中午开始,各大门户网站、微信公众号就开始陆续推送开幕式相关的图...
    Sunflower新晴阅读 270评论 0 0

友情链接更多精彩内容