UIButton,圓角,陰影,立體效果, 文字位置,圖文顯示

UIButton 是日常開發(fā)中相當常用是控件,今天來做個簡單的總結.

//這里創(chuàng)建一個圓角矩形的按鈕 
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
// 能夠定義的button類型有以下6種,
// typedef enum {
// UIButtonTypeCustom = 0, 自定義風格
// UIButtonTypeRoundedRect, 圓角矩形 
// UIButtonTypeDetailDisclosure, 藍色小箭頭按鈕,主要做詳細說明用// UIButtonTypeInfoLight, 亮色感嘆號
// UIButtonTypeInfoDark, 暗色感嘆號
// UIButtonTypeContactAdd, 十字加號按鈕
// 
} 
UIButtonType; 
//給定button在view上的位置 
button1.frame = CGRectMake(20, 20, 280, 20); //button背景色 
button1.backgroundColor = [UIColor clearColor];
 //設置button填充圖片 
//[button1 setImage:[UIImage imageNamed:@"btng.png"] forState:UIControlStateNormal]; 
//設置button標題 [button1 setTitle:@"點擊" forState:UIControlStateNormal]; 
/* forState: 這個參數的作用是定義按鈕的文字或圖片在何種狀態(tài)下才會顯現*/ 
//以下是幾種狀態(tài)
// enum {
// UIControlStateNormal = 0, 常規(guī)狀態(tài)顯現 
// UIControlStateHighlighted = 1 << 0, 高亮狀態(tài)顯現 
// UIControlStateDisabled = 1 << 1, 禁用的狀態(tài)才會顯現
// UIControlStateSelected = 1 << 2, 選中狀態(tài) 
// UIControlStateApplication = 0x00FF0000, 當應用程序標志時 
// UIControlStateReserved = 0xFF000000 為內部框架預留,可以不管他 

 };
 /* * 默認情況下,當按鈕高亮的情況下膛壹,圖像的顏色會被畫深一點,如果這下面的這個屬性設置為no, * 那么可以去掉這個功能 */ 
button1.adjustsImageWhenHighlighted = NO; 
/*跟上面的情況一樣换衬,默認情況下痰驱,當按鈕禁用的時候,圖像會被畫得深一點瞳浦,設置NO可以取消設置*/ 
button1.adjustsImageWhenDisabled = NO; 
/* 下面的這個屬性設置為yes的狀態(tài)下担映,按鈕按下會發(fā)光*/
 button1.showsTouchWhenHighlighted = YES; 
/* 給button添加事件,事件有很多種叫潦,我會單獨開一篇博文介紹它們蝇完,下面這個時間的意思是 按下按鈕,并且手指離開屏幕的時候觸發(fā)這個事件矗蕊,跟web中的click事件一樣短蜕。 觸發(fā)了這個事件以后,執(zhí)行butClick:這個方法傻咖,addTarget:self 的意思是說朋魔,這個方法在本類中 也可以傳入其他類的指針*/
 [button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside]; 
//顯示控件 [self.view addSubview:button1];

// 如果你想完全自定義, 那么

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 

// 設置標題
[btn setTitle: @"普通狀態(tài)" forState: UIControlStateNormal];
[btn setTitle: @"選中狀態(tài)(選中時記得設為YES)" forState: UIControlStateSelectes];

// 設置圖片
[btn setImage:[UIImage imageNamed:@"未選中"] forState:(UIControlStateNormal)];
    [btn setImage:[UIImage imageNamed:@"選中"] forState:(UIControlStateSelected)];

//設置字體大小
[btn setFont: [UIFont systemFontSize: 14.0]];

// 設置文字居位
//有些時候我們想讓UIButton的title居左對齊,我們設置
btn.textLabel.textAlignment = UITextAlignmentLeft
是沒有作用的卿操,我們需要設置
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是問題又出來铺厨,此時文字會緊貼到做邊框,我們可以設置
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
使文字距離做邊框保持10個像素的距離硬纤。

設置UIButton上字體的顏色設置UIButton上字體的顏色解滓,不是用:
[btn.titleLabel setTextColor:[UIColorblackColor]];
btn.titleLabel.textColor=[UIColor redColor];
而是用:
[btn setTitleColor:[UIColor blackColor]forState:UIControlStateNormal];
//自定義的框顏色
btn.layer.borderColor = [UIColor grayColor].CGColor;
 //自定義框的寬度 
 btn.layer.borderWidth = 1;
//自定義圓角, 當值為寬一半是為半圓
btn.layer.cornerRadius = 5;

// 自定義陰影(其他視圖也可以使用此屬性)
btn.layer.shadowColor = [UIColor yellowColor].CGColor;//shadowColor陰影顏色  
btn.layer.shadowOffset = CGSizeMake(0,0);//shadowOffset陰影偏移,默認(0, -3),這個跟shadowRadius配合使用  
btn.layer.shadowOpacity = 1;//陰影透明度筝家,默認0  
_imageView1.layer.shadowRadius = 3;//陰影半徑洼裤,默認3  

Button上的圖文混排是不常用的,不過并不難

// 在UIButton中有三個對EdgeInsets的設置:ContentEdgeInsets、titleEdgeInsets溪王、imageEdgeInsets 
[button setImage:[UIImage imageNamed:@"圖片"] forState:UIControlStateNormal];//給button加image 
button.imageEdgeInsets = UIEdgeInsetsMake(5,13,21,button.titleLabel.bounds.size.width);
//設置image在button上的位置(上top腮鞍,左left,下bottom莹菱,右right)這里可以寫負值移国,對上寫-5,那么image就象上移動5個像素 
[button setTitle:@"文字" forState:UIControlStateNormal];//設置button的title 
button.titleLabel.font = [UIFont systemFontOfSize:16];//title字體大小 
button.titleLabel.textAlignment = NSTextAlignmentCenter;
//設置title的字體居中 
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
//設置title在一般情況下為白色字體 
[button setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted];
//設置title在button被選中情況下為灰色字體 
button.titleEdgeInsets = UIEdgeInsetsMake(71, -button.titleLabel.bounds.size.width-50, 0, 0);//設置title在button上的位置(上top道伟,左left迹缀,下bottom,右right) 
// [button setContentEdgeInsets:UIEdgeInsetsMake(70, 0, 0, 0)];// 
// button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//設置button的內容橫向居中蜜徽。祝懂。設置content是title和image一起變化
// 點擊Button方法 
[button addTarget: self action:@selector(tap) forControlEvents:UIControlEventTouchUpInside]; 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拘鞋,隨后出現的幾起案子砚蓬,更是在濱河造成了極大的恐慌,老刑警劉巖盆色,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灰蛙,死亡現場離奇詭異呢堰,居然都是意外死亡巧还,警方通過查閱死者的電腦和手機浮驳,發(fā)現死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門掂恕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人障本,你說我怎么就攤上這事∠炀椋” “怎么了驾霜?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長买置。 經常有香客問我粪糙,道長,這世上最難降的妖魔是什么忿项? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任蓉冈,我火速辦了婚禮,結果婚禮上轩触,老公的妹妹穿的比我還像新娘寞酿。我一直安慰自己,他們只是感情好脱柱,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布伐弹。 她就那樣靜靜地躺著,像睡著了一般榨为。 火紅的嫁衣襯著肌膚如雪惨好。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天随闺,我揣著相機與錄音日川,去河邊找鬼。 笑死矩乐,一個胖子當著我的面吹牛龄句,可吹牛的內容都是我干的。 我是一名探鬼主播散罕,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼撒璧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了笨使?” 一聲冷哼從身側響起卿樱,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎硫椰,沒想到半個月后繁调,有當地人在樹林里發(fā)現了一具尸體萨蚕,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年蹄胰,在試婚紗的時候發(fā)現自己被綠了岳遥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡裕寨,死狀恐怖浩蓉,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情宾袜,我是刑警寧澤捻艳,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站庆猫,受9級特大地震影響认轨,放射性物質發(fā)生泄漏。R本人自食惡果不足惜月培,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一嘁字、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杉畜,春花似錦纪蜒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拌蜘,卻和暖如春杆烁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背简卧。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工兔魂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人举娩。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓析校,卻偏偏與公主長得像,于是被迫代替她去往敵國和親铜涉。 傳聞我的和親對象是個殘疾皇子智玻,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,527評論 25 707
  • 發(fā)現 關注 消息 iOS 第三方庫、插件芙代、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,033評論 4 62
  • 2017年的第一個工作日纹烹,也是開了個頭吧页滚,好不好倒是另說召边,至少一些事情慢慢有了眉目。 南姐確定要去審計了裹驰,跟我預計...
    聶一一閱讀 284評論 0 0
  • 手機又在喊我清理一下垃圾了隧熙。 為了得到更流暢的體驗,我果斷選擇了清理內存幻林。 清理垃圾一般不會清理掉文字聊天記錄贞盯,清...
    布瓜先生閱讀 641評論 3 2