您的位置:首页 > 移动开发 > IOS开发

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的控件才可以连线
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: