Swift-按鈕處理方法

1,按鈕的創建
(1)按鈕有下面四種類型:
UIButtonType.ContactAdd:前面帶“+”圖標按鈕,默認文字顏色爲藍色,有觸摸時的高亮效果
UIButtonType.DetailDisclosure:前面帶“!”圖標按鈕,默認文字顏色爲藍色,有觸摸時的高亮效果
UIButtonType.System:前面不帶圖標,默認文字顏色爲藍色,有觸摸時的高亮效果
UIButtonType.Custom:定製按鈕,前面不帶圖標,默認文字顏色爲白色,無觸摸時的高亮效果
UIButtonType.InfoDark:爲感嘆號“!”圓形按鈕
UIButtonType.InfoLight:爲感嘆號“!”圓形按鈕
1
2
3
4
5
6
7
//創建一個ContactAdd類型的按鈕
let button:UIButton UIButton(type:.ContactAdd)
//設置按鈕位置和大小
button.frame=CGRectMake(10, 150, 100, 30)
//設置按鈕文字
button.setTitle("按鈕", forState:UIControlState.Normal)
self.view.addSubview(button);
(2)對於Custom定製類型按鈕,代碼可簡化爲:
1
let button = UIButton(frame:CGRectMake(10, 150, 100, 30))

2,按鈕的文字設置
1
2
3
button.setTitle("普通狀態", forState:UIControlState.Normal//普通狀態下的文字
button.setTitle("觸摸狀態", forState:UIControlState.Highlighted//觸摸狀態下的文字
button.setTitle("禁用狀態", forState:UIControlState.Disabled//禁用狀態下的文字

3,按鈕文字顏色的設置
1
2
3
button.setTitleColor(UIColor.blackColor(),forState: .Normal//普通狀態下文字的顏色
button.setTitleColor(UIColor.greenColor(),forState: .Highlighted//觸摸狀態下文字的顏色
button.setTitleColor(UIColor.grayColor(),forState: .Disabled//禁用狀態下文字的顏色

4,按鈕文字陰影顏色的設置
1
2
3
button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal//普通狀態下文字陰影的顏色
button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted//普通狀態下文字陰影的顏色
button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled//普通狀態下文字陰影的顏色

5,按鈕背景顏色設置
1
button.backgroundColor=UIColor.blackColor()

6,按鈕文字圖標的設置
1
2
3
button.setImage(UIImage(named:"icon1"),forState:.Normal)  //設置圖標
button.adjustsImageWhenHighlighted=false //使觸摸模式下按鈕也不會變暗
button.adjustsImageWhenDisabled=false //使禁用模式下按鈕也不會變暗

7,設置按鈕背景圖片
1
button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)

8,按鈕觸摸點擊事件響應
1
2
3
4
5
6
7
8
9
10
11
//不傳遞觸摸對象(即點擊的按鈕)
button.addTarget(self,action:Selector("tapped"),forControlEvents:.TouchUpInside)
func tapped(){
   print("tapped")
}
 
//傳遞觸摸對象(即點擊的按鈕),需要在定義action參數時,方法名稱後面帶上冒號
button.addTarget(self,action:Selector("tapped:"),forControlEvents:.TouchUpInside)
func tapped(button:UIButton){
   print(button.titleForState(.Normal))
}
常用的觸摸事件類型:
TouchDown:單點觸摸按下事件,點觸屏幕
TouchDownRepeat:多點觸摸按下事件,點觸計數大於1,按下第2、3或第4根手指的時候
TouchDragInside:觸摸在控件內拖動時
TouchDragOutside:觸摸在控件外拖動時
TouchDragEnter:觸摸從控件之外拖動到內部時
TouchDragExit:觸摸從控件內部拖動到外部時
TouchUpInside:在控件之內觸摸並擡起事件
TouchUpOutside:在控件之外觸摸擡起事件
TouchCancel:觸摸取消事件,即一次觸摸因爲放上太多手指而被取消,或者電話打斷
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章