UIKit中的常用控件(一)

這個系列的博客主要記錄一下UIKit中各類控件的主要要點和用法鹦马。本篇將介紹一下UILabel文判、UIImageView和UIButton
</br>


一过椎、UILabel

主要屬性
  • text
    文本內(nèi)容</br>

  • textColor
    文本顏色</br>

  • font
    文本字體(包括字體和字號)</br>

  • textAlignment
    對齊方式</br>

  • numerOfLines
    行數(shù)(置為0時自動換行)</br>

  • enable
    是否可用</br>

  • lineBreakMode
    決定一行文本中省略的位置</br>

  • shadowColor/shadowOffset
    陰影(在shadowOffset中可以設(shè)置陰影的水平和垂直的偏移方向)</br>

</br>


二、UIImageView

主要屬性
  • image
    圖片資源戏仓。一個UIImage類型的對象</br>

  • contentMode
    決定圖片的內(nèi)容顯示模式

  • ...ScaleToFill:完全的拉伸或壓縮

  • ...ScaleAspectFit:寬高比不變疚宇,適應(yīng)大小

  • ...ScaleAspectFill:寬高比不變,填充區(qū)域
    </br>

  • ...Center:居中

  • ...Top/Bottom/Left/Right:置于頂部/底部/左側(cè)/右側(cè)

  • ...TopLeft/TopRight/BottomLeft/BottomRight:置于左上/右上/左下/右下

  • clipsToBounds
    一個布爾類型的屬性赏殃。決定圖片是否被裁減敷待。默認為NO
    </br>

創(chuàng)建方式
  1. [[UIImageView alloc] init]
    創(chuàng)建后需要手動設(shè)置frame
    </br>
  2. [[UIImageView alloc] initWithFrame:]
    直接把frame作為參數(shù)傳入
    </br>
  3. [[UIImageView alloc] initWithImage:]
    把圖片作為參數(shù)傳入,可以使創(chuàng)建的view的尺寸與圖片一致仁热,但需要手動設(shè)置origin
    </br>
實現(xiàn)序列幀動畫
  1. 給animationImages屬性設(shè)置實例變量榜揖,傳入一個UIImage數(shù)組
  2. 設(shè)置animationRepeatCount屬性,表示循環(huán)次數(shù)抗蠢,0則無限循環(huán)
  3. 設(shè)置animationDuration參數(shù)举哟,表示完整播放完一次動畫所需的時間
  4. 調(diào)用startAnimating方法,開始播放幀動畫
  5. 調(diào)用stopAnimation方法迅矛,停止播放幀動畫

</br>

UIImage加載圖片的2種方式
  • 通過imageNamed:方法獲取保存在Assets中火保存在項目資源包中的圖片妨猩。但是需要注意:
  1. 放到Assets.xcassets中的圖片,默認就有緩存
  1. 就算指向它的指針被銷毀诬乞,該資源也不會從內(nèi)存中被釋放掉
  2. 適合保存常用的圖片
  • 通過imageWithContentsOfFile:方法獲取保存在項目資源包目錄下的圖片册赛,不能獲取保存在Assets中的圖片
  1. 打包后,Assets文件夾會變成Assets.car文件震嫉,無法拿到路徑森瘪,因此就無法通過imageWithContentsOfFile:方法獲取圖片
  1. 指向他的指針被銷毀時,資源會從內(nèi)存中被釋放掉
  2. 適合保存不常使用的圖片票堵,或大量的圖片資源

</br>


三扼睬、UIButton

一般情況下,點擊某個控件后,做出相應(yīng)反應(yīng)的按鈕都是按鈕窗宇。

按鈕中可以既顯示文本又顯示圖片措伐,并可以自定義按鈕中文本和圖片的位置。

1.UIButton的狀態(tài)
  • normal
    普通狀態(tài)军俊,在默認情況下顯示

  • highlighted
    高亮狀態(tài)

  • disabled
    不可用狀態(tài)

2.Storyboard中UIButton的常用屬性
  • Type
    • System 系統(tǒng)默認格式
  • Custom 自定義格式(用得最多的)
  • Detail Disclosure 詳情按鈕
  • Add Contact 添加聯(lián)系按鈕
  • State Configer
    • Default
    • Highlighted
    • Disabled
  • Shadow Offset
    偏移值只能是正值
  • Image
    按鈕中的圖片侥加,默認情況下始終居中顯示,不會隨按鈕尺寸變化拉伸
  • BackgroundImage
    按鈕的背景圖片粪躬,會始終被拉伸放縮至與按鈕的尺寸大小一致

</br>

3.UIButton在代碼中的使用
  • 創(chuàng)建
    使用buttonWithType:方法初始化担败,并設(shè)置按鈕的類型(按鈕的類型只能在初始化的時候設(shè)置)

  • 設(shè)置文字
    需要分狀態(tài)進行設(shè)置,button的text屬性是只讀的镰官。因此需要調(diào)用:
    setTitle:forState:等方法來設(shè)置按鈕在不同狀態(tài)下的文本屬性

  • 設(shè)置內(nèi)容圖片
    與設(shè)置文字相同提前,需要區(qū)分狀態(tài)
    setImage:forState:

  • 設(shè)置背景圖片
    與設(shè)置文字相同,需要區(qū)分狀態(tài)
    setBackgroundImage:forState:

  • 在代碼中調(diào)用方法
    調(diào)用addTarget:action:forControlEvents:方法來為按鈕增加一個觸發(fā)方法:

  • 第一個參數(shù)執(zhí)行方法的控制器

  • 第二個參數(shù)表示執(zhí)行的方法(SEL類型)

  • 第三個參數(shù)表示觸發(fā)按鈕的事件類型

</br>

4.改變UIButton中圖片和文字的位置
  • 方式1:在自定義的UIButton子類中重寫兩個方法來修改
  • 重寫titleRectForContentRect:方法修改文字的frame
  • 重寫imageRectForContentRect:方法修改圖片的frame
  • 方式2:在自定義的UIButton子類中重寫layoutSubviews方法來修改子控件布局

</br>

5.改變UIButton中的內(nèi)邊距
  • 通過設(shè)置按鈕的contentEdgeInsets來設(shè)置所有內(nèi)容的內(nèi)邊距
  • 通過設(shè)置按鈕的imageEdgeInsets來設(shè)置圖片的內(nèi)邊距
  • 通過設(shè)置按鈕的titleEdgeInsets來設(shè)置文字的內(nèi)邊距
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泳唠,一起剝皮案震驚了整個濱河市狈网,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌笨腥,老刑警劉巖拓哺,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扇雕,居然都是意外死亡拓售,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門镶奉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來础淤,“玉大人,你說我怎么就攤上這事哨苛「胄祝” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵建峭,是天一觀的道長玻侥。 經(jīng)常有香客問我,道長亿蒸,這世上最難降的妖魔是什么凑兰? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮边锁,結(jié)果婚禮上姑食,老公的妹妹穿的比我還像新娘。我一直安慰自己茅坛,他們只是感情好音半,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般曹鸠。 火紅的嫁衣襯著肌膚如雪煌茬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天彻桃,我揣著相機與錄音坛善,去河邊找鬼。 笑死叛薯,一個胖子當著我的面吹牛浑吟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耗溜,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼省容!你這毒婦竟也來了抖拴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤腥椒,失蹤者是張志新(化名)和其女友劉穎阿宅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笼蛛,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡洒放,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了滨砍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片往湿。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖惋戏,靈堂內(nèi)的尸體忽然破棺而出领追,到底是詐尸還是另有隱情,我是刑警寧澤响逢,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布绒窑,位于F島的核電站,受9級特大地震影響舔亭,放射性物質(zhì)發(fā)生泄漏些膨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一钦铺、第九天 我趴在偏房一處隱蔽的房頂上張望订雾。 院中可真熱鬧,春花似錦职抡、人聲如沸葬燎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谱净。三九已至窑邦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間壕探,已是汗流浹背冈钦。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留李请,地道東北人瞧筛。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像导盅,于是被迫代替她去往敵國和親较幌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,427評論 7 249
  • #iOS開發(fā)之UI篇#iOS開發(fā)之UI篇 #常用控件介紹1## #UI第09天:滾動視圖# ##UIScrollV...
    LennonLin閱讀 1,772評論 0 0
  • 1岛琼、窗體 1、常用屬性 (1)Name屬性:用來獲取或設(shè)置窗體的名稱巢株,在應(yīng)用程序中可通過Name屬性來引用窗體槐瑞。 ...
    Moment__格調(diào)閱讀 4,560評論 0 11
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件阁苞、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,124評論 4 61
  • 風(fēng)兒困檩,你來吧! 你輕輕地飄猬错, 你瘋狂地吹窗看。 雨兒,你下吧倦炒! 細細的雨絲显沈;粗粗的雨點, 你飄飄灑灑逢唤, 你傾盆大雨拉讯。 ...
    田小麥閱讀 254評論 0 0