讓你的Button任性起來(lái)~~~

奮斗的七月

UIButton中的titleEdgeInsets和imageEdgeInsets可以管理button中title和image的布局捍靠。利用這兩個(gè)屬性就可以輕松的設(shè)置一個(gè)圖片一個(gè)文本這樣的布局。
但是先要對(duì)著兩個(gè)屬性了解清楚

UIButton *btnCeShi = [[UIButton alloc]initWithFrame:CGRectMake(20, 30, 80, 80)];
[self.view addSubview:btnCeShi];
btnCeShi.backgroundColor = [UIColor redColor];
[btnCeShi setTitle:@"測(cè)試" forState:UIControlStateNormal];
[btnCeShi setImage:[UIImage imageNamed:@"select"] forState:UIControlStateNormal];
奮斗的七月

這是一個(gè)基本的button捐晶,默認(rèn)情況下胡陪,圖片在左坷虑,文字在右秀姐,垂直居中顯示往声,如上圖擂找。

只設(shè)置image或title其中一項(xiàng)時(shí),默認(rèn)是正常居中顯示的浩销,但我們同時(shí)設(shè)置image和title時(shí)贯涎,則會(huì)出現(xiàn)上圖的顯示,這是為什么呢慢洋?那就是當(dāng)我們同時(shí)添加image和title時(shí)塘雳,image默認(rèn)會(huì)向左偏移button的titleLabel的寬度,而title會(huì)向右偏移image的寬度且警,既然明白了原理粉捻,我們就可以設(shè)置偏移量來(lái)達(dá)到我們想要的任何效果。

默認(rèn)情況下

button.titleEdgeInsets = UIEdgeInsetsZero;
button.imageEdgeInsets = UIEdgeInsetsZero;

現(xiàn)在我們就可以任意的修改button的布局

1. 設(shè)置圖片和文字都是居中的布局
button.titleEdgeInsets = UIEdgeInsetsMake(0, -button.imageView.frame.size.width, 0, 0);
// button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -button.titleLabel.frame.size.width);
// 由于iOS8中titleLabel的size為0斑芜,用上面這樣設(shè)置有問(wèn)題肩刃,修改一下即可
button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -button.titleLabel.intrinsicContentSize.width);
奮斗的七月
2. 設(shè)置圖片在上,文字在下杏头,水平居中顯示
button.titleEdgeInsets = UIEdgeInsetsMake(0, -button.imageView.frame.size.width, -button.imageView.frame.size.height, 0);
// button.imageEdgeInsets = UIEdgeInsetsMake(-button.titleLabel.frame.size.height, 0, 0, -button.titleLabel.frame.size.width);
// 由于iOS8中titleLabel的size為0盈包,用上面這樣設(shè)置有問(wèn)題,修改一下即可
button.imageEdgeInsets = UIEdgeInsetsMake(-button.titleLabel.intrinsicContentSize.height, 0, 0, -button.titleLabel.intrinsicContentSize.width);
奮斗的七月

如果覺(jué)得圖片和文字離的太近了醇王,稍微分開一點(diǎn):

CGFloat offset = 40.0f;
button.titleEdgeInsets = UIEdgeInsetsMake(0, -button.imageView.frame.size.width, -button.imageView.frame.size.height-offset/2, 0);
// button.imageEdgeInsets = UIEdgeInsetsMake(-button.titleLabel.frame.size.height-offset/2, 0, 0, -button.titleLabel.frame.size.width);
// 由于iOS8中titleLabel的size為0呢燥,用上面這樣設(shè)置有問(wèn)題,修改一下即可
button.imageEdgeInsets = UIEdgeInsetsMake(-button.titleLabel.intrinsicContentSize.height-offset/2, 0, 0, -button.titleLabel.intrinsicContentSize.width);
奮斗的七月
2. 設(shè)置文字左對(duì)齊寓娩,圖片右對(duì)齊
button.titleEdgeInsets = UIEdgeInsetsMake(0, -button.imageView.frame.size.width - button.frame.size.width + button.titleLabel.intrinsicContentSize.width, 0, 0);
button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -button.titleLabel.frame.size.width - button.frame.size.width + button.imageView.frame.size.width);
奮斗的七月
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叛氨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子棘伴,更是在濱河造成了極大的恐慌寞埠,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焊夸,死亡現(xiàn)場(chǎng)離奇詭異仁连,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)阱穗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門饭冬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)使鹅,“玉大人,你說(shuō)我怎么就攤上這事昌抠』贾欤” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵扰魂,是天一觀的道長(zhǎng)麦乞。 經(jīng)常有香客問(wèn)我,道長(zhǎng)劝评,這世上最難降的妖魔是什么姐直? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蒋畜,結(jié)果婚禮上声畏,老公的妹妹穿的比我還像新娘。我一直安慰自己姻成,他們只是感情好插龄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著科展,像睡著了一般均牢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上才睹,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天徘跪,我揣著相機(jī)與錄音,去河邊找鬼琅攘。 笑死垮庐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的坞琴。 我是一名探鬼主播哨查,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼剧辐!你這毒婦竟也來(lái)了寒亥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤荧关,失蹤者是張志新(化名)和其女友劉穎护盈,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羞酗,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年紊服,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了檀轨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胸竞。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖参萄,靈堂內(nèi)的尸體忽然破棺而出卫枝,到底是詐尸還是另有隱情,我是刑警寧澤讹挎,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布校赤,位于F島的核電站,受9級(jí)特大地震影響筒溃,放射性物質(zhì)發(fā)生泄漏马篮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一怜奖、第九天 我趴在偏房一處隱蔽的房頂上張望浑测。 院中可真熱鬧,春花似錦歪玲、人聲如沸迁央。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)岖圈。三九已至,卻和暖如春钙皮,著一層夾襖步出監(jiān)牢的瞬間蜂科,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工株灸, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留崇摄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓慌烧,卻偏偏與公主長(zhǎng)得像逐抑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屹蚊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程厕氨,因...
    小菜c閱讀 6,408評(píng)論 0 17
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評(píng)論 1 92
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)汹粤、插件命斧、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,102評(píng)論 4 62
  • 注意:更新iOS 9.3, and Swift 2.2- 2016年4月2日 原文https://www.rayw...
    Tippi閱讀 4,319評(píng)論 0 2
  • 你倚在船頭聽聞魚兒的絮語(yǔ),稀疏的燈火在遠(yuǎn)處隱隱約約地泛起嘱兼。你悄然隱匿在朦朧的月光里国葬,月光亦裝進(jìn)了你枕邊的夢(mèng)。 你如...
    寒竹墨軒閱讀 150評(píng)論 0 1