[菜鸟成长记]iOS开发自学笔记06-导航控制器和segue的传递数据

  导航控制器通常用来显示分层内容的向下导航界面,受限于设备屏幕大小,iPhone或者iPad需要通过更多的层次访问来显示足够丰富的内容,导航控制器一般会和表视图同时存在,但不是说必须一起绑定使用,这里将表视图嵌入到导航控制器中用于分层显示视图内容,以single view application为模板建立一个project,打开Main.storyboard,点击view controller再在工具栏上点击editor->embed in->navigation controller将视图控制器嵌入到导航控制器中,作为它的rootviewcontroller,即打开程序后该视图控制器作为导航控制器的根视图,在导航控制器分层显示的最上层。往view controller上添加一个table view,设置prototype cells个数为1,再往Main.storyboard中拖入一个view controller。按住control键,点击table view 的prototype cell拖向新添加进去的view controller,松开鼠标后会选择push,如下图:

运行程序后的结果:

             

表格单元行点击后进入导航控制器的下一层,目的是在下一层的视图控制器中间的label上显示上一层表格上的label上的内容。

  首先为新添加的view controller定义一个view controller的子类,因为在prototype cell中添加了一个UILabel对象,因此也需要定义一个对应于这个“自定义”表格单元的UITableViewCell子类。

  这里有几个细节需要注意:

  • 点击先前声称的segue为其定义一个唯一的identifier名,这个后面程序中时作为唯一标识来选择segue用的
  • 要为view controller中的UITableView对象定义个IBOutLet变量
  • 必须要在自定义的最底层视图中建立一个过渡变量用于存放segue传递过来的值,不能直接赋值给UILabel的text

最后生成的程序效果:

       

时间: 2024-10-23 14:03:30

[菜鸟成长记]iOS开发自学笔记06-导航控制器和segue的传递数据的相关文章

[菜鸟成长记]iOS开发自学笔记01-向helloworld致敬

我有一个梦想就是成为一个iOS开发.........菜鸟,老规矩,一切从helloworld开始. iOS8伴随着iphone6/6plus而来,Xcode6伴随着iOS8而来,苹果更新换代的速度依然很快,从硬件到软件,每次更新就意味着开发者们又要面临着一次次的恶补,当然,像我这样励志成为iOS开发菜鸟的人来说,目前还没有到面临这些问题的烦恼,我只需要专心做好我的hello world小程序,就像我从前无数次地在其他平台一样. 首先打开Xcode后从模板中选择single view applic

[菜鸟成长记]iOS开发自学笔记07-UITextField自动隐藏键盘

点击UITextField输入框后,软键盘默认情况下在结束输入后不会自动隐藏,目前总结了两种可以自动隐藏软键盘的方法: 第一种:通过响应UITextField对象的Did End On Exit事件,当点击默认软键盘的"Done"按钮或"Return"按钮会触发Did End On Exit 事件,通过编码实现来响应Did End On Exit事件来实现自动隐藏键盘 - (IBAction)TextFieldDidEndOnExit:(id)sender { [t

[菜鸟成长记]iOS开发自学笔记03-UITableView初级进阶之cell的删除

上一节在自定义UITableView表视图单元格的基础上,实现了一个简单的表视图界面,包含了一些自定义的界面元素在内.苹果的产品从iPhone到MAC都提供了多种多样的手势操作以彰显其操作的人性化,在如“邮件”等系统自带软件的表视图单元格中,每个单元格向左滑动即可在最右边出现删除按钮,以方便用户快速地对所选择行执行删除操作.其实实现这个功能并不难,仅仅只需要在ViewController中实现UITableViewDataSource协议中的方法 - (void)tableView:(UITab

[菜鸟成长记]iOS开发自学笔记04-AutoLayout自动布局

随着iphone6的问世,苹果又进一步加大了手机屏幕的尺寸,而且按照目前这种趋势来判断,未来应该还有可能会出现更大的屏幕的手机.如果没有AutoLayout那么目前iPhone有4种尺寸的屏幕,iPad也有两种尺寸.而一款应用程序想要兼容所有这些的不同尺寸的屏幕就必须要让程序做一些特殊处理,比如在程序里去获取屏幕尺寸再根据具体尺寸去建立不同的UI布局,显然每多一种屏幕就需要增加一种处理,这样很显然是繁琐和不经济的.而利用AutoLayout则可以使用约束对象的功能来实现一次布局在多种屏幕通用的目

[菜鸟成长记]iOS开发自学笔记05-prototype cells中使用AutoLayout

事情起因于我在一个表格视图里打算添加表格单元行向左滑动显示删除按钮的操作,实现起来比较简单只要定义方法 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 即使不包含任何方法实现部分的代码,只要定义了这个方法,编译运行程序后,向左华东单元行都是能出现删除按钮的

iOS开发UINavigation系列四——导航控制器UINavigationController

iOS开发UINavigation系列四--导航控制器UINavigationController 一.引言 在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便.前几篇博客地址如下: UINavigationBar:http://my.oschina

【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解

(1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最以下,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界面,也就是用户看到的界面. (2)我们须要把导航控制器载入到APP中,须要把这个导航控制器设置为window的根视图控制器(都是控制器类,能够赋值),这样就相当于载入到了window里. (3)我们要在栈中新增或者删除一个视图控制器,就须要得到导航控制器,一般在栈中得全部视图控制器都有一个self.

菜鸟成长记1,软件工程大一经历

菜鸟成长记1 -----大一总结及反思 大一即将结束,突然间想总结一下我的大一生活,最重要的还是好好反思一下. 回首整个大一感觉自己学了好多的东西,但最终的感觉还是一无所成,大一上学期学习c语言,一直处于一个总是一个没有入门的感觉,虽然简单的c经长期磨练已经差不多搞懂,不过稍微复杂点的抑或着说稍微麻烦点的都没有真正学会,仅仅是学过c而已,在学c的同时一直想练ACM可能真的是天赋不够也可能是自己不是这块料,在几经折磨下,做了uva上不超过30道题的情况下放弃了,除想练ACM这中间还接触了java和

给iOS开发自学的建议,附iOS自学资源

文/上嵌科技(简书作者) 原文链接:http://www.jianshu.com/p/4b7e7aceddf5 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 很多同学都在大学期间,或在职期间想自学ios开发或者Android开发,今天小编就给大家集中介绍iOS开发自学方法和建议,附送iOS自学资料. ios开发自学者的建议从新手到入行 不要听信从0基础到精通.到专家,学习编程最最关键的是从新手到入门,当你入门了,你自我学习.自我驱动的能力会更强,没有入门,当你过了学习