storyboard 使用小计

xcode 标签内容

command + option 1~6 快速切换 xcode storyboard(xib)编辑内容(注:下面不强调xib)

  • 1 文件信息(.h.m全都有,略微不同),基本上不怎么修改,Size Class 可能会放弃选择。

  • 2 Quick Help 快速帮助(.h.m全都有),选中类的描述,一般也不怎么看。

  • 3 类别说明,一般也就改个Class 对应.h.m文件。

1 关于indentify,不填写,默认就好,也方便使用 NSStringFromClass()。
2 Attributes,可以添加属性,KVC吧,一般也不用。
3 Document 和 Accessibility 基本没用过,sorry了。

  • 4 类的各种属性设置:从上到下可能会分几个模块,第一个是本身,往下是父类,父类的父类...不同的类有不同的属性可以设置,比较多,不一一介绍了。
  • 5 约束:注意 Constraints!
1 直接鼠标右键拉约束。
2 整个storyboard 右下角 4 个小按钮添加约束
    第一个:不熟!
    第二个:添加与父视图的约束;
    第三个:添加相邻控件的约束;(注意margins 这个属性,自动留边)
    第四个:更新约束、位置。

3 添加完约束,在Constraints 中,对应增加约束,
    1 Edit 可以快速修改:
      constraints 大小关系 >=< n
      priority 优先级
      Multiplier 倍数关系
    2 双击约束,可以详细修改:比较多但是内容差不多,不写了。

4 Content Hugging 和 Compression Resistance (内容紧凑优先级 和 压缩优先级)不多介绍了,masonry 里写了一点点。


5 Intrinsic Size 默认大小,一般给没有图片的imageView 写一个。
  • 6 链接 Outlet
    对于上面3步对应的Class,可以将storyboard 中各类,以右键方式拖至.h.m文件,IBOutlet 链接。链接会展示在对应 Outlets
1 拖至接口处,形成对象;
2 (UIControl类)拖至实现文件下,形成事件;
3 约束本身也可以拖至接口处,2次调整;

4 注意修改outlet 时,检查 6标签中是否对应修改,避免产生!必崩!
  • 添加转场
1 UIControl 类,链接另一个ViewController,对应事件触发转场。
2 ViewController 本身,链接另一个ViewController,需要代码支持。
3 链接成功,command + shift + 4 需要设置,转场标记 indentifier,用于代码使用。
4 也可以不添加,标记,直接使用代码进行push。


  • 其他
    control + command + option + 3 快速搜索控件,上下键切换,回车即添加。

结合代码使用

关于自动布局本身就比较复杂,可能遇到的问题也比较多,没用好就会很多红线哦,注意安全。

  • 1 awakeFrimNib:nib加载初始化。
  • 2 代码加载nib
// storyboard
    UIViewController *testViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"TestViewController"];

// nib
    UIView *testView = [[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil].lastObject;
// TestView 类,并不是 init 初始化,而是 awakeFrimNib。
  • 3 代码转场传值
1 直接通过2获取ViewControllerV push

2 通过转场标记转场
// 打算 使用标记转场,并添加参数 sender
    [self performSegueWithIdentifier:@"gotoDetail" sender:@"message"];

// 转场传参数
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    [segue.destinationViewController setValue:sender forKey:@"message"];
}

其他 个人总结

在固定frame的view上面添加自动布局的view - ok;
在自动布局的view上添加固定frame的view - error;

1

你可能感兴趣的:(storyboard 使用小计)