现在已经是Xcode10了,作为interface builder的重要部分,storyboard的内容也越来越多,越来越便捷,下面来列举一下storyboard的属性选项,也就是Xcode右边那一栏五种类型的选项.

不知道苹果有没有对Xcode各种位置进行命名,比如这五个类型,完全不知道每个应该叫什么,这里就直接编号
一.
选择不同的目标,这一页也会显示不同的类型,比如选择main.storyboard文件本身,是这四类选项
1.identify and type

type是这个Storyboard文件的读取类型,比如改成别的类型,然后去写作为sb加载,就会crash,报错说找不到这个sb文件

下面两个 group指的是文件所在的group,fullpath是绝对路径,点击图标可以show in finder
2.interface builder document

(1) opens in指的是在哪个版本的IDE下打开这个文件,有时候会遇到这种情况,修改opens in就可以了

(2) builds for指的是在哪个版本的SDK下编译,但是只是编译,运行时会发生变化,至于运行时会不会crash,要看具体情况.比如deployment target设置为8.0的项目,在Storyboard使用safa area时,会报错并且无法编译,这时候把builds for修改成iOS9以上就行,但是当运行起来时,iOS8的设备自然是没有safearea的,不过不会crash,系统会替换成laoutGuide和leading,trailing.iOS9以上,则safearea会起效.
(3)use autolayout :是否使用autolayout
(4)use Trait Variations: Trait Variations是size class的进化版,而size class可以配合autolayout使用,具体这里不展开说明
(5)use safe area layout guide: iOS9以上可以使用,可以认为是top layout guide和bottom layout guide的升级版,是常用的功能.
(6)use as launch screen: launchscreen文件也是.storyboard扩展名的文件,勾选这个相当于新建一个launchscreen,在launchscreen中,与普通sb有很大不同,比如不能设置自定义类型.
3.localization
国际化的相关设置,不展开说明

4.target membership
选择在哪个target下编译

5.on demand resource tags
此项选中main.storyboard时展示不出来,需要选中一个vc,或者选中其他Storyboard

iOS 用 bundle 将资源组织在 app 内部预先定义好的子目录结构中。你需要用 Bundle 对象来检索要用到的资源;Bundle 对象提供了查找这些资源的唯一接口,按需加载资源不会打包在 app 发布包中。它们会放在苹果服务器上。你的 app 根据需要通过 NSBundleResourceRequest 来下载它们。你需要传递一个 tags 集合给 NSBundleResourceRequest 对象,这个 tags 集合用于表示你想下载的资源。当 app 下载完这些资源,会把它们保存到一个备用的 bundle 中。
网友评论