xcode 標(biāo)簽內(nèi)容
command + option 1~6 快速切換 xcode storyboard(xib)編輯內(nèi)容(注:下面不強調(diào)xib)
1 文件信息(.h.m全都有瑞凑,略微不同)询一,基本上不怎么修改碴巾,Size Class 可能會放棄選擇。
2 Quick Help 快速幫助(.h.m全都有)豁护,選中類的描述,一般也不怎么看。
3 類別說明勾邦,一般也就改個Class 對應(yīng).h.m文件道川。
1 關(guān)于indentify午衰,不填寫立宜,默認就好,也方便使用 NSStringFromClass()臊岸。
2 Attributes,可以添加屬性橙数,KVC吧,一般也不用帅戒。
3 Document 和 Accessibility 基本沒用過灯帮,sorry了。
- 4 類的各種屬性設(shè)置:從上到下可能會分幾個模塊逻住,第一個是本身钟哥,往下是父類,父類的父類...不同的類有不同的屬性可以設(shè)置瞎访,比較多腻贰,不一一介紹了。
- 5 約束:注意 Constraints扒秸!
1 直接鼠標(biāo)右鍵拉約束播演。
2 整個storyboard 右下角 4 個小按鈕添加約束
第一個:不熟!
第二個:添加與父視圖的約束伴奥;
第三個:添加相鄰控件的約束写烤;(注意margins 這個屬性,自動留邊)
第四個:更新約束拾徙、位置顶霞。
3 添加完約束,在Constraints 中锣吼,對應(yīng)增加約束选浑,
1 Edit 可以快速修改:
constraints 大小關(guān)系 >=< n
priority 優(yōu)先級
Multiplier 倍數(shù)關(guān)系
2 雙擊約束,可以詳細修改:比較多但是內(nèi)容差不多玄叠,不寫了古徒。
4 Content Hugging 和 Compression Resistance (內(nèi)容緊湊優(yōu)先級 和 壓縮優(yōu)先級)不多介紹了,masonry 里寫了一點點读恃。
5 Intrinsic Size 默認大小隧膘,一般給沒有圖片的imageView 寫一個。
- 6 鏈接 Outlet
對于上面3步對應(yīng)的Class寺惫,可以將storyboard 中各類疹吃,以右鍵方式拖至.h.m文件,IBOutlet 鏈接西雀。鏈接會展示在對應(yīng) Outlets
1 拖至接口處萨驶,形成對象;
2 (UIControl類)拖至實現(xiàn)文件下艇肴,形成事件腔呜;
3 約束本身也可以拖至接口處叁温,2次調(diào)整;
4 注意修改outlet 時核畴,檢查 6標(biāo)簽中是否對應(yīng)修改膝但,避免產(chǎn)生!必崩谤草!
- 添加轉(zhuǎn)場
1 UIControl 類跟束,鏈接另一個ViewController,對應(yīng)事件觸發(fā)轉(zhuǎn)場丑孩。
2 ViewController 本身泳炉,鏈接另一個ViewController,需要代碼支持嚎杨。
3 鏈接成功花鹅,command + shift + 4 需要設(shè)置,轉(zhuǎn)場標(biāo)記 indentifier枫浙,用于代碼使用刨肃。
4 也可以不添加,標(biāo)記箩帚,直接使用代碼進行push真友。
- 其他
control + command + option + 3 快速搜索控件,上下鍵切換紧帕,回車即添加盔然。
結(jié)合代碼使用
關(guān)于自動布局本身就比較復(fù)雜,可能遇到的問題也比較多是嗜,沒用好就會很多紅線哦愈案,注意安全。
- 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 代碼轉(zhuǎn)場傳值
1 直接通過2獲取ViewControllerV push
2 通過轉(zhuǎn)場標(biāo)記轉(zhuǎn)場
// 打算 使用標(biāo)記轉(zhuǎn)場恢准,并添加參數(shù) sender
[self performSegueWithIdentifier:@"gotoDetail" sender:@"message"];
// 轉(zhuǎn)場傳參數(shù)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
[segue.destinationViewController setValue:sender forKey:@"message"];
}
其他 個人總結(jié)
在固定frame的view上面添加自動布局的view - ok;
在自動布局的view上添加固定frame的view - error甫题;
1