iOS各種顯示模式使用及總結(jié)(contentMode,textAligment,contentVerticalAlignment,contentHorizontalAlignment)

初學(xué)者經(jīng)常糾結(jié)于各種控件的各種顯示模式,居中還是居上靠左還是靠右?

在此徹底總結(jié)一下:

  • textAligment:文字顯示模式

NSTextAlignmentLeft      = 0,    // 左對(duì)齊
NSTextAlignmentCenter    = 1, // 居中對(duì)齊
NSTextAlignmentRight    = 2,   // 右對(duì)齊
NSTextAlignmentJustified = 3, // 充滿view來顯示

這四個(gè)顯示模式在storeboard里面是這幾個(gè)設(shè)置:


storeboard設(shè)置

左對(duì)齊,右對(duì)齊,居中對(duì)齊就不多說了
重點(diǎn)說說一下NSTextAlignmentJustified,他是storeboard中的第四個(gè)按鈕
把它和左對(duì)齊的效果圖作比較
就能很明顯的看出它的作用:


左對(duì)齊
充滿view

擁有textAligment屬性的控件(能夠顯示文字的一般都有):

UITextField
UILabel
UITextView

  • contentHorizontalAlignment\contentVerticalAlignment:內(nèi)容的水平垂直顯示模式

使用較為常見的就是Button的內(nèi)容顯示模式
Button里面有ImageView和Label兩個(gè)子控件需要顯示
我們可以分別設(shè)置常用的ImageView的contentMode(下面介紹這個(gè)屬性),Label的textAligment
但是要將他們作為一個(gè)整體來控制,就需要Button的屬性
contentHorizontalAlignment\contentVerticalAlignment

typedef NS_ENUM(NSInteger, UIControlContentVerticalAlignment) {//垂直方向
    UIControlContentVerticalAlignmentCenter  = 0,
    UIControlContentVerticalAlignmentTop     = 1,
    UIControlContentVerticalAlignmentBottom  = 2,
    UIControlContentVerticalAlignmentFill    = 3,
};
typedef NS_ENUM(NSInteger, UIControlContentHorizontalAlignment) {//水平方向
    UIControlContentHorizontalAlignmentCenter = 0,
    UIControlContentHorizontalAlignmentLeft   = 1,
    UIControlContentHorizontalAlignmentRight  = 2,
    UIControlContentHorizontalAlignmentFill   = 3,
};

在storeboard里面是這幾個(gè)設(shè)置:


storeboard中設(shè)置

測(cè)試?yán)?代碼中分別設(shè)置了水平靠右,垂直靠上的話,imgeView和Label會(huì)一起向左上角靠近(實(shí)際運(yùn)用中一般只單獨(dú)設(shè)置水平方向或者垂直方向)

    button.contentHorizontalAlignment= UIControlContentHorizontalAlignmentLeft;
    button.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
按照左上角模式顯示(黑色部分是圖片 - -)

擁有contentHorizontalAlignment\contentVerticalAlignment屬性的控件(繼承自UIControl的控件或者UIControl本身):
UIControl
UIButton
UITextField

  • contentMode : 內(nèi)容模式(控制內(nèi)容的對(duì)齊方式), 一般對(duì)UIImageView很有用

typedef NS_ENUM(NSInteger, UIViewContentMode) {
UIViewContentModeRedraw,              
//帶有Scale:可能會(huì)被拉伸或者壓縮   
     //帶有Scale - 不帶Aspect:拉伸或者壓縮的時(shí)候 不會(huì)按照比例             
     UIViewContentModeScaleToFill,    
     //帶有Scale - 帶Aspect:拉伸或者壓縮的時(shí)候 會(huì)按照比例
     UIViewContentModeScaleAspectFit,  //圖片會(huì)適應(yīng)整個(gè)ImageView的大小(按照比例縮小擴(kuò)大),全部顯示出來    
     UIViewContentModeScaleAspectFill, //寬高比例不變(原大小顯示) 顯示的時(shí)候多余的裁掉   
//不帶Scale:圖片不會(huì)被拉伸或者壓縮        
    UIViewContentModeCenter,        
    UIViewContentModeTop,        
    UIViewContentModeBottom,        
    UIViewContentModeLeft,        
    UIViewContentModeRight,        
    UIViewContentModeTopLeft,        
    UIViewContentModeTopRight,        
    UIViewContentModeBottomLeft,
    UIViewContentModeBottomRight,
}
注釋:
以下演示圖片中 : 紅色是背景,黃色是ImageView背景色,白色妹子是圖片

所有顯示模式中
不帶Scale的是較為簡(jiǎn)單一些
按照這些顯示模式來顯示,圖片會(huì)按照原大小來顯示,不會(huì)被拉伸也不會(huì)被壓縮,
常用的是UIViewContentModeCenter
讓圖片按照原大小居中顯示:


UIViewContentModeCenter

如果圖片超出控件大小,則圖片就會(huì)超出控件顯示,如下圖


UIViewContentModeCenter
下面用力(著重)介紹帶有Scale字眼的模式(圖片會(huì)被拉伸或者壓縮)

帶有Scale的三個(gè)模式中
有一個(gè)是不帶有Aspect字眼的UIViewContentModeScaleToFill
它在拉伸的時(shí)候不會(huì)按照比例(圖片會(huì)變形)
然后非常單純的把整個(gè)ImageView填滿:


UIViewContentModeScaleToFill

另外兩個(gè)帶有Aspect字眼
他們被拉伸的時(shí)候圖片的比例不會(huì)改變(圖片不變形)
UIViewContentModeScaleAspectFit:
圖片會(huì)完全顯示
圖片等比例縮小至寬等于ImageView的寬
或者高等于ImageView的高為止


UIViewContentModeScaleAspectFit

UIViewContentModeScaleAspectFill:
圖片也會(huì)完全顯示(超出控件部分也會(huì)顯示)
圖片等比例拉伸至寬等于ImageView的寬
或者高等于ImageView的高為止
UIViewContentModeScaleAspectFill

感謝閱讀
你的支持是我寫作的唯一動(dòng)力

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贞奋,一起剝皮案震驚了整個(gè)濱河市卡骂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒸眠,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杈帐,死亡現(xiàn)場(chǎng)離奇詭異缚忧,居然都是意外死亡悟泵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門闪水,熙熙樓的掌柜王于貴愁眉苦臉地迎上來糕非,“玉大人,你說我怎么就攤上這事球榆⌒喾剩” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵持钉,是天一觀的道長(zhǎng)鞠呈。 經(jīng)常有香客問我,道長(zhǎng)右钾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任旱爆,我火速辦了婚禮舀射,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怀伦。我一直安慰自己脆烟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布房待。 她就那樣靜靜地躺著邢羔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪桑孩。 梳的紋絲不亂的頭發(fā)上拜鹤,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音流椒,去河邊找鬼敏簿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惯裕。 我是一名探鬼主播温数,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蜻势!你這毒婦竟也來了撑刺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤握玛,失蹤者是張志新(化名)和其女友劉穎够傍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體败许,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡王带,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了市殷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愕撰。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖醋寝,靈堂內(nèi)的尸體忽然破棺而出搞挣,到底是詐尸還是另有隱情,我是刑警寧澤音羞,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布囱桨,位于F島的核電站,受9級(jí)特大地震影響嗅绰,放射性物質(zhì)發(fā)生泄漏舍肠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一窘面、第九天 我趴在偏房一處隱蔽的房頂上張望翠语。 院中可真熱鬧,春花似錦财边、人聲如沸肌括。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谍夭。三九已至,卻和暖如春憨募,著一層夾襖步出監(jiān)牢的瞬間紧索,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工馋嗜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留齐板,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像甘磨,于是被迫代替她去往敵國(guó)和親橡羞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫济舆、插件卿泽、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,059評(píng)論 4 62
  • 目錄 contentMode-顯示模式 背景圖片的拉伸 textAligment-顯示模式 lineBreakMo...
    Ryan___閱讀 1,724評(píng)論 0 2
  • 01 上半年“華為要裁減34歲以上員工”的消息,在網(wǎng)上傳的沸沸揚(yáng)揚(yáng)滋觉,華為輪值CEO徐直軍正式回應(yīng)此消息時(shí)签夭,說了一句...
    snail成長(zhǎng)閱讀 761評(píng)論 0 1
  • 耶和華是我的牧者,我必不至于缺乏椎侠! 耶和華要保護(hù)你第租,從今時(shí)直到永遠(yuǎn),你出你入耶和華都要保護(hù)你我纪。 苦難是恩典慎宾,患難是...
    凌賢武閱讀 1,990評(píng)論 0 0
  • 綠葉白花不漂亮, 待到秋來結(jié)果時(shí)浅悉。 笑獻(xiàn)果實(shí)怡眾鄉(xiāng)趟据, 節(jié)節(jié)高升美名揚(yáng)。
    caoxia閱讀 646評(píng)論 4 9