知識點總結:07-xib的使用

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

19.custom字號是18,system是15

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,259評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,593評論 25 708
  • 端午假期親們都出遠門旅游了嗎?反正我沒有。不是因為忌憚高溫的烘烤,而是被工作所困,假期三天依然要在值班中度過。 好...
    晚風靜好閱讀 246評論 0 0
  • 幽暗,滌蕩火爐 沒有溫酒的火爐 只有,一間空空的壁櫥 茶葉沏成日夜 徹骨的酸澀,不習慣變遷 夜不成寐的嗚咽 早被黃...
    慕籽閱讀 172評論 0 0
  • 有了一點點眉目!
    慧娜閱讀 161評論 0 0