IOS开发简介 -02 Storyboard介绍
2015-07-11 19:12
295 查看
IOS开发简介 -02 Storyboard介绍
1.storyboard
storyboard,俗称故事板,即我们可以通过故事板构建软件的基础界面,可以通过拖拽的方式往里面添加控件元素,从而形成应用程序的界面,每个故事板都对应由一个控制器来管理控制器概念:任何继承UIViewController的类都是一个控制器,控制器主要是用来管理UI界面(负责管理UI界面的创建和事件的处理)
通过查看storyboard的custom class可以看到与之关联的控制器
2.main.storyboard和UIViewController连线
UI界面是可以和它与之对应的控制器进行连线的,我们可以通过连线的方式, 让UI界面上的元素和控制器中的代码产生一定的关系界面中的元素一般和代码中的属性和方法进行关联
默认情况下,UI界面中的元素是不能和方法进行关联的,要想关联UI界面中的元素必须将方法的返回值修改为IBAction
若是关联属性,则属性类型前必须添加IBOutlet
可以在故事板界面点击辅助编辑器或快捷键command + option + 回车,即可打开二分界面(即打开与之关联的控制器代码)如下图
鼠标点击当前控件不放,按住control键将控件往代码中拖拽
控件代码关联
属性关联
方法关联
可以看到关联之后的属性和方法左边有一个实心的小圆圈,若是我们将关联取消,那么这个小圆圈会变成空心
3.IBOutLet和IBAction
IBAction几种连线方式1.从”控制器”往”Storyboard”连线
2.从”Storyboard”往”控制器”连线
3.直接在”Storyboard”中往”Storyboard”上的界面顶部连线
4.直接在”Storyboard”中往”Storyboard”上的工具条连线
前四种需要先定义IBAction方法
5.不用先定义方法, 直接从”Storyboard”往”控制器”连线
IBAction连线的注意点:
1.在Storyboard中拷贝元素的时候需要注意
1.1拷贝的同时会将以前的连线一起拷贝
1.2一个方法可以很多个控件关联
1.3一个控件可以和很多方法进行连线,在开发中, 一般情况下不会这样写
2.如果将按钮关联的方法删除, 运行之后会报一个经典错误
reason: ‘-[ViewController redBtnClick]: unrecognized selector sent to instance 0x7fb4aa618e50’
3.IBAction只能作为方法的返回值
IBAction == viod
4.默认情况下,iOS系统会将UI界面中触发事件的控件当做参数传递进来
IBOutlet的几种连线方式
1.从”控制器”往”Storyboard”连线
2.从”Storyboard”往”控制器”连线
3.直接在”Storyboard”中往”Storyboard”上的界面顶部连线
4.直接在”Storyboard”中往”Storyboard”上的工具条连线
前四种需先定义IBOutlet属性
5.不用先定义方法, 直接从”Storyboard”往”控制器”连线
注意点:
1.一个控件可以关联多个属性
2.一个属性不可以关联多个控件
3.在进行属性连线的时候, Xcode会自动帮我们进行类型检测, 如果类型不匹配那么不能连线
4.如果将属性和控件连线之后又将属性删除了, 那么只要程序运行就会报一个经典错误
‘[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key lable.’
5.注意: 任何UI控件都可以和属性进行连线.但是并不是任何控件都可以和方法连线,只有继承于UIControl的控件才可以连线
相关文章推荐
- iOS开发简介 - 01.IOS开发基本流程
- iOS: 由第三方SDK引起 duplicate symbol 的思考
- iOS项目的完整重命名方法图文教程
- iOS项目中常用的第三方开源库
- iOS中对时间的处理(三)——各时区时间相互转化
- ios 设置相机照片库中文
- 25个增强iOS应用程序性能的提示和技巧
- iOS中对时间的处理(二)——获取时间及星期
- 网易新闻iOS版使用的开源组件
- iOS代理模式与事件模型对比实现
- sb错误
- 30多个iOS常用动画,带详细注释
- iOS中的设计模式简单说明
- iOS开发系列--并行开发其实很容易
- 【简易版】IOS仿periscope自制狂赞飘桃心
- ios后台播放
- iOS Loading图多张png图片组合动画效果
- iOS SDK详解之NSCalendar & NSDateComponents
- 如何成为一名有优秀的iOS工程师
- iOS3D转场动画