Storyboard简介
Storyboard优势
可视化的设计APP页面以及控制页面间的切换。Xcode项目中会预设两个Storyboard页面,一个是Main.storyboard,是APP默认的首页面,可以在这里设计页面之间的切换。另一个是LaunchScreen.storyboard,是APP一开始载入时的欢迎界面(tips:一般不涉及太复杂的逻辑以好看为主,这里不作讨论)。
Storyboard帮助我们省去了页面中控件的创建,但是具体的逻辑仍需要代码实现。Storyboard在开发中,往往扮演连接可视化控件和代码的中间角色。因此Storyboard可以做到:(一)连接控件发出的各种事件,例如点击、键盘输入等(二)可以唯一标识一个控件,例如为控件取名(相当于声明变量),这样才能通过代码定位到我们想要操作的控件,改变控件的属性。
操作控件
直接用鼠标拉蓝线到某一ViewController中,输入名字就完成了命名,相当于声明了一个控件变量,Xcode会自动帮我们转成一个特殊类型的属性——IBOutlet属性。如果想要拦截某一控件的事件,同样采取拉线的方式,也会被转为一个特殊方法——IBAction方法,当事件触发时,这个方法就会被调用。(进入辅助编辑模式快捷键:control+option+command+enter 一只手刚刚够0.0)
视图控制器与视窗
APP中,不同界面的切换其实是切换视图控制器而不是视窗。一个APP通常只有一个视窗(类型为UIWindow),视窗上有一个视图控制器,视图控制器上可以放置不同的视图,也就是各种控件。
界面切换Segue
Storyboard中,将某一ViewController中的控件拉线至另一ViewController就定义了ViewController之间的切换。切换方式分为多种,如show(全屏幕方式切换,由导航控制器控制);show detail(通常用于分屏);present modally(多样化的切换方式);present as popover(小弹窗方式&