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