1.用xib描述控制器的view
- 1.為控制器創建xib文件,并以控制器的類名為命名xib
- 2.在File's Owner的view中連線xib,用xib描述控制器的view
-
3.關聯File's Owner的類為控制器的類
Snip20170110_3.png - 4.添加相關控件
2.在xib中添加label的注意點(至少2個非寬高
約束,寬高隨內容而定)
- 1.可以不設置label的高,則label的高由
內容
(文字,圖片等)決定,但是label的寬度
一般要設置,否則無法計算行高,但是也可以在xib中設置行高 - 2.label要設置自動換行,一定要設置
lines
屬性為0
- 3.設置label內容的換行
- 快捷鍵:
option + 回車鍵
, 在storyboard\xib輸入\n是無法實現換行的 - 在代碼中輸入
\n
是可以實現換行的
- 快捷鍵:
- 4.設置label內容居中,要設置
Alignment
屬性
Snip20170110_4.png
3.在xib中設置imageView的注意點(至少4個約束)
- 1.可以先查看image的大小,再設置imageView控件的寬和高,再設置其他約束(共4個約束)
- 2.使用center vertically使得圖片中心點對齊某個控件
- 3.常用的約束可以考慮水平居中+間隔,注意區分左對齊和與左邊的間距設置的不同
- 4.復制一個控件,只會將控件的size復制出來,并不會將約束也復制出來,所以新復制出來的控件要重新設置約束
4.在xib中設置button的注意點(至少2個非寬高
約束)
- 1.設置按鈕屬性要分狀態,如:
默認狀態
default和選中狀態
HighLighted - 2.設置按鈕時,要選擇樣式:
系統樣式system
或者自定義樣式custom
,system樣式默認文字大小是15字號,而且圖片會變灰變淺,而custom樣式默認文字大小是18字號,不會改變圖片屬性 - 3.修改button的文字和圖片的排列,可以通過修改button內部文字和圖片的內邊距來實現,但是因為這個內邊距是寫死的,所以一旦按鈕改變,則需要重新修改,所以我們一般采取自定義按鈕來實現
- 4.自定義按鈕中,在fayoutsubvious中重寫子控件的布局,可以修改frame,或者逐個修改子控件的x,y,width,height
Snip20170110_5.png
3.設置按鈕的background屬性不會改變按鈕的樣式,設置按鈕的image屬性,會自動將按鈕的屬性設置為custom樣式
-
設置按鈕的background屬性
Snip20170110_7.png -
設置按鈕的image屬性
Snip20170110_8.png
5.調試的一些技巧
-
1.在storyboard或者xib中修改控件的名字,可以清晰看到各個控件的約束情況
Snip20170110_9.png 2.在TabbarController中添加子控制器代碼塊中,調整要調試的模塊控制器為第一個添加的子控制器,則可以每次調試app時,展示的第一個界面都是調試控制器
Snip20170110_10.png
則每次打開app展示出來的界面都是要調試的關注界面:
Snip20170110_11.png
- 3.在xib或者storyboard的控件中
- 如:button,label,imageView等中,是不能添加子控件的(可能是蘋果不推薦使用)
- 除非是容器控件,如:view,scrollView,tableView等容器控件則可以添加子控件
- 如果一定要在非容器控件中添加子控件,則可以通過代碼來添加
- 可以用UIView做為容器,分隔出不同部分進行布局,建議將背景顏色設置為clearColor
- 讓容器的UIView能夠隨著子控件的高度改變而改變,可以在設置容器view的時候,先給予一定的高度,待所有子控件的都添加完畢以后,再設置最底部的子控件與容器view底部的間距,并刪除容器view的高度即可
- 設置三個按鈕等高等寬均勻的排列在屏幕上,可以選中三個按鈕使用stackView,或者先確定好中間的按鈕,并設置好中間按鈕的高(必須)和其他約束,再選中三個按鈕等寬等高頂部對齊(三個約束),其次,需要設置左邊按鈕左右間距為0(一個約束,輔助確定等寬這個約束),最后設置右邊按鈕
6.push和present控制器的區別
- push出控制器要有
導航控制器
的前提下才可以進行,而present出控制器則隨時可以調出,因此和上下級業務聯系
密切的推薦使用push(可以返回上一級),反之,使用present. - 另外,如果
一個功能多個地方都能用到
,而且隨時
都可以調出來,可以使用present,如:登錄模塊
7.常用分類最好寫在pch文件
8.iOS7以后修改狀態欄顏色推薦使用的方法
每個控制器狀態欄通過控制器的這個方法確定,從ios7以后推薦使用,默認是黑色
110689FA-FFEA-4128-98EA-058D6E72FBAA.png
9.在xib拷貝過來的空間,只有自身的一些屬性,例如:寬度和高度,會被保留下來;約束是不會被拷貝下來的
10.約束中,有個centerVertically,就是指與另一個控件的y的中心水平對齊
11.btn中選擇image和backgroundImage的講究,
- backgroundImage有多大,按鈕就有多大,而btn的點擊范圍與按鈕大小相關,如果設置的是image,圖片不會因為btn的大小而變形,可以擴展btn的點擊范圍
12.模糊透明的效果一般通過圖片搞定
13.文本框消掉白色的實線,用borderStyle
14.文本框的清除按鈕clearButton
9F00271C-453D-4D54-B460-BC863F14E5FD.png
15.文本框限制輸入的內容是數字,可以在keyboardType中修改(內容要選擇default,全部都可以輸入)
38D6AE28-98F7-47F8-8BF9-8DB818BA534B.png
16.還有占位文字---placeHolder
17.密碼是安全文本,要勾選secure text…
18.用KVC也可以設置圓角
E5F157C1-DBF8-4E61-BFB0-CC80ADA73F76.png