1. 程式人生 > 實用技巧 >IOS:個人筆記|UI__UIButton

IOS:個人筆記|UI__UIButton

自己在網上找的比較老的教學視訊,沒找到16年之後新的培訓資料。隨手記錄一些知識點,不定時進行補充。

按鈕的狀態

Normal 普通狀態
預設情況 default
對應的列舉值 :UIControlStateNormal

Highlighted 高亮狀態
按鈕按下去的時候,手指未鬆開
對應的列舉值 :UIControlStateHighLighted

Disabled 失效狀態
如果enable==no,即代表按鈕不可用
對應的列舉值:UIControlStateDisabled
餘下兩種狀態
Focused
Selected
===
button在UI介面的一些瑣碎的知識點
type如果是custom,就需要自已重新去設定。

detail disclosure,info light,info dark,button變成一個感嘆號圖示狀,高寬固定
add contact 變成一個+號的圖示狀
設定button上字型的陰影,是分按鈕狀態的
按鈕如果在image裡新增一個圖片,按鈕會變成custom自定義,按鈕大小也會隨圖片大小變化,在background不會。一個是內容圖,一個是背景圖.

 1 //button的常見的設定
 2 /*建立button並且在建立時選擇型別(只能在初始化時設定型別,一般選擇自定義custom)
 3 如果先allocinit建立,再選擇buttontype設定型別會失敗。因為buttontype是隻讀型別
4 */ 5 UIButton*btn1=[UIButtonbuttonWithType:UIButtonTypeCustom]; 6 //設定frame 7 btn1.frame=CGRectMake(20,20,30,30); 8 //設定背景色 9 btn1.backgroundColor=[UIColorredColor]; 10 //設定文字(分狀態) 11 [btn1setTitle: @"按鈕普通狀態"forState:UIControlStateNormal]; 12 [btn1setTitle:@"按鈕高亮狀態"forState:UIControlStateHighlighted]; 13
//設定文字顏色,同樣分狀態 14 [btn1setTitleColor:[UIColorblueColor]forState:UIControlStateNormal]; 15 [btn1setTitleColor:[UIColorredColor]forState:UIControlStateHighlighted]; 16 //設定文字陰影,同樣分狀態 17 [btn1setTitleShadowColor:[UIColoryellowColor]forState:UIControlStateNormal]; 18 [btn1setTitleShadowColor:[UIColorgrayColor]forState:UIControlStateHighlighted]; 19 //陰影偏移量,不分狀態 20 btn1.titleLabel.shadowOffset=CGSizeMake(3,3); 21 //設定內容圖片,分狀態(程式碼介面設定內容圖片,圖片如果過大,按鈕不會被撐大) 22 [btn1setImage:[UIImageimageNamed:@"01.png"]forState:UIControlStateNormal]; 23 //設定內容圖片的背景顏色 24 btn1.imageView.backgroundColor=[UIColorredColor]; 25 //設定背景圖片 26 [btn1setBackgroundImage:[UIImageimageNamed:@"02.png"]forState:UIControlStateNormal]; 27 /*按鈕的監聽事件 28 addTarget:誰來做 29 action:要做的事情 30 forControlEvent:觸發的事件 31 */ 32 [btn1addTarget:selfaction:@selector(btn1Click)forControlEvents:UIControlEventTouchUpInside];

關於多個按鈕共用一個點選事件,一般是通過按鈕的tag屬性實現,通過tag去區分每個按鈕。簡單的示例,程式碼沒寫完整

 1 -(void)set{
 2 UIButton*btn1=[[UIButtonalloc]init];
 3 [btn1addTarget:selfaction:@selector(btn1Click:)forControlEvents:UIControlEventTouchUpInside];
 4 UIButton*btn2=[[UIButtonalloc]init];
 5 [btn2addTarget:selfaction:@selector(btn1Click:)forControlEvents:UIControlEventTouchUpInside];
 6 UIButton*btn3=[[UIButtonalloc]init];
 7 [btn3addTarget:selfaction:@selector(btn1Click:)forControlEvents:UIControlEventTouchUpInside];
 8 [btn1setTag:1];
 9 [btn2setTag:2];
10 [btn3setTag:3];}
11 -(void)btn1Click:(UIButton*)Button{
12 if(Button.tag==1)
13 NSLog(@"按鈕1");
14 elseif(Button.tag==2)
15 NSLog(@"");
16 else
17 NSLog(@"");
18 }