IOS:個人筆記|UI__UIButton
阿新 • • 發佈:2020-09-14
自己在網上找的比較老的教學視訊,沒找到16年之後新的培訓資料。隨手記錄一些知識點,不定時進行補充。
按鈕的狀態
Normal 普通狀態
預設情況 default
對應的列舉值 :UIControlStateNormal
Highlighted 高亮狀態
按鈕按下去的時候,手指未鬆開
對應的列舉值 :UIControlStateHighLighted
Disabled 失效狀態
如果enable==no,即代表按鈕不可用
對應的列舉值:UIControlStateDisabled
餘下兩種狀態
Focused
Selected
===
button在UI介面的一些瑣碎的知識點
type如果是custom,就需要自已重新去設定。
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 }