Swift - 故事板storyboard的用法
2015-09-25 15:11
260 查看
故事板(UIStoryboard)可以很方便的进行界面的设计,下面总结了常用的几个操作方法:
1,初始场景
选中View Controller,在属性面板里勾选Is Initial View Controller复选框,即可设置为起始场景(前面会显示灰色的小箭头)
2,将View Controller的尺寸改成iPhone大小
(1)点击左侧的Main.storyboard。然后选择右侧的 show the File inspector(纸张图标),最后将Use Size Classes前面的勾去掉。
(2)在弹出的窗口中,选择iPhone为Keep size class data 的值。然后点击Disable Size Class按钮即可。
(3)此时Xcode中间的布局样式看上去就像个iPhone的样子了。
3,添加segue
使用seque的好处是,页面的切换不再需要创建任何代码。按住Ctrl键同时拖动控件到目标场景,在弹出的上下文菜单中选择show。
(1)菜单中中间4个是过去版本的使用方式,推荐最上面的4个新的方式:
Show:就是Push一个新的视图
Show Detail:替换当前的视图方式来展现新的视图
Modally:模式窗口的方式
Popover:浮窗形式
(2)如果是两个Controller之间建立包含关联,例如从TableBarController到NavigationController,则上下文菜单会有relationship的选项,选择view controllers即可
4,给segue添加关联类
在stroyboard中添加一个seque时并不会同步添加对应的类。如果需要,我们要手动先创建一个swift类,比如叫MyView1。然后进入storyboard,选中对应的segue。在属性面板中设置对应的Class,如下图:
5,添加代码关联
打开Assistant Editor同时显示界面设计与代码,按住Ctrl键同时拖动控件到代码,在弹出的上下文菜单中设置需要关联的类型,即可在代码里自动生成代码。
这里主要有两种关联类型,一种是Outlet连接,就是在代码里创建界面元素的成员变量引用。另一种是Action事件,把界面元素的响应事件方法添加到代码里来。(如果已经创建了代码,也可以把控件直接拖放到对应代码上,这时候就不是插入而是直接建立连接了)
6,同一个storyboard里多个View Controller的引用
如果要在代码里调用storyboard里的View Controller,可以设置View
Controller的identity。设置方法是,在stroyboard中选中View
Controller,在右侧的identity属性面板里设置StroyboardID。
比如设置类Main.storyboard里初始View Controller的identity为RootView,则通过以下方式引用:
对于初始View Controller也可以不通过identity直接获取:
7,使用多个storyboard文件
一个项目可以不止一个storyboard文件,它们间也可以互相调用。假如还添加一个Second.storyboard,里面的View
Controller设置identity为SecondView,则我们可以通过导航的方式来关联两个storyboard文件。
在AppDelegate的Application入口里把Main面板放入导航控制:
然后可以在RootView里放入一个按钮,点击事件里导航到Second面板:
1,初始场景
选中View Controller,在属性面板里勾选Is Initial View Controller复选框,即可设置为起始场景(前面会显示灰色的小箭头)
2,将View Controller的尺寸改成iPhone大小
(1)点击左侧的Main.storyboard。然后选择右侧的 show the File inspector(纸张图标),最后将Use Size Classes前面的勾去掉。
(2)在弹出的窗口中,选择iPhone为Keep size class data 的值。然后点击Disable Size Class按钮即可。
(3)此时Xcode中间的布局样式看上去就像个iPhone的样子了。
3,添加segue
使用seque的好处是,页面的切换不再需要创建任何代码。按住Ctrl键同时拖动控件到目标场景,在弹出的上下文菜单中选择show。
(1)菜单中中间4个是过去版本的使用方式,推荐最上面的4个新的方式:
Show:就是Push一个新的视图
Show Detail:替换当前的视图方式来展现新的视图
Modally:模式窗口的方式
Popover:浮窗形式
(2)如果是两个Controller之间建立包含关联,例如从TableBarController到NavigationController,则上下文菜单会有relationship的选项,选择view controllers即可
4,给segue添加关联类
在stroyboard中添加一个seque时并不会同步添加对应的类。如果需要,我们要手动先创建一个swift类,比如叫MyView1。然后进入storyboard,选中对应的segue。在属性面板中设置对应的Class,如下图:
5,添加代码关联
打开Assistant Editor同时显示界面设计与代码,按住Ctrl键同时拖动控件到代码,在弹出的上下文菜单中设置需要关联的类型,即可在代码里自动生成代码。
这里主要有两种关联类型,一种是Outlet连接,就是在代码里创建界面元素的成员变量引用。另一种是Action事件,把界面元素的响应事件方法添加到代码里来。(如果已经创建了代码,也可以把控件直接拖放到对应代码上,这时候就不是插入而是直接建立连接了)
6,同一个storyboard里多个View Controller的引用
如果要在代码里调用storyboard里的View Controller,可以设置View
Controller的identity。设置方法是,在stroyboard中选中View
Controller,在右侧的identity属性面板里设置StroyboardID。
比如设置类Main.storyboard里初始View Controller的identity为RootView,则通过以下方式引用:
一个项目可以不止一个storyboard文件,它们间也可以互相调用。假如还添加一个Second.storyboard,里面的View
Controller设置identity为SecondView,则我们可以通过导航的方式来关联两个storyboard文件。
在AppDelegate的Application入口里把Main面板放入导航控制:
相关文章推荐
- Swift - 设置UIView的背景色和背景图片
- Swift - UIColor使用自定义的RGB配色
- Swift - 页控件(UIPageControl)的用法
- Swift - 标签条(UITabBar)标签页控制器(UITabBarController)用法
- Swift - 使用网格(UICollectionView)的自定义布局实现复杂页面
- Swift - 使用网格(UICollectionView)进行流布局
- Swift - 移除页面视图上的所有元素
- Swift - 使用导航条和导航条控制器来进行页面切换
- Swift - 带结果列表的搜索条(UISearchDisplayController)的用法
- Swift - 搜索条(UISearchBar)的用法
- Swift - 将表格UITableView滚动条移动到底部
- Swift - 给表格添加编辑功能(删除,插入)
- Swift - 自定义单元格实现微信聊天界面
- Swift - 给表格的单元格UITableViewCell添加图片,详细文本标签
- Swift - 使用表格组件(UITableView)实现分组列表
- Swift - 二进制,八进制,十六机制的表示方法
- Swift - 使用表格组件(UITableView)实现单列表
- Swift - 工具条(UIToolbar)的用法
- Swift - 使用UIWebView和UIToolbar制作一个浏览器
- Swift - 网页控件(UIWebView)加载本地数据,文件