Swift - 按鈕(UIButton)的用法
1,按鈕的創(chuàng)建(1)按鈕有下面四種類型: UIButtonType.ContactAdd:前面帶“+”圖標按鈕冬三,默認文字顏色為藍色艰赞,有觸摸時的高亮效果
UIButtonType.DetailDisclosure:前面帶“!”圖標按鈕,默認文字顏色為藍色,有觸摸時的高亮效果
UIButtonType.System:前面不帶圖標懈叹,默認文字顏色為藍色,有觸摸時的高亮效果
UIButtonType.Custom:定制按鈕分扎,前面不帶圖標澄成,默認文字顏色為白色,無觸摸時的高亮效果
UIButtonType.InfoDark:為感嘆號“!”圓形按鈕
UIButtonType.InfoLight:為感嘆號“!”圓形按鈕
//創(chuàng)建一個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(
"普通狀態(tài)"
, forState:
UIControlState
.
Normal
)
//普通狀態(tài)下的文字
button.setTitle(
"觸摸狀態(tài)"
, forState:
UIControlState
.
Highlighted
)
//觸摸狀態(tài)下的文字
button.setTitle(
"禁用狀態(tài)"
, forState:
UIControlState
.
Disabled
)
//禁用狀態(tài)下的文字
3卫漫,按鈕文字顏色的設置1
2
3
button.setTitleColor(
UIColor
.blackColor(),forState: .
Normal
)
//普通狀態(tài)下文字的顏色
button.setTitleColor(
UIColor
.greenColor(),forState: .
Highlighted
)
//觸摸狀態(tài)下文字的顏色
button.setTitleColor(
UIColor
.grayColor(),forState: .
Disabled
)
//禁用狀態(tài)下文字的顏色
4,按鈕文字陰影顏色的設置1
2
3
button.setTitleShadowColor(
UIColor
.greenColor(),forState:.
Normal
)
//普通狀態(tài)下文字陰影的顏色
button.setTitleShadowColor(
UIColor
.yellowColor(),forState:.
Highlighted
)
//普通狀態(tài)下文字陰影的顏色
button.setTitleShadowColor(
UIColor
.grayColor(),forState:.
Disabled
)
//普通狀態(tài)下文字陰影的顏色
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參數(shù)時,方法名稱后面帶上冒號
button.addTarget(
self
,action:
Selector
(
"tapped:"
),forControlEvents:.
TouchUpInside
)
func
tapped(button:
UIButton
){
print
(button.titleForState(.
Normal
))
}
常用的觸摸事件類型:TouchDown:單點觸摸按下事件源葫,點觸屏幕
TouchDownRepeat:多點觸摸按下事件诗越,點觸計數(shù)大于1,按下第2臼氨、3或第4根手指的時候
TouchDragInside:觸摸在控件內拖動時
TouchDragOutside:觸摸在控件外拖動時
TouchDragEnter:觸摸從控件之外拖動到內部時
TouchDragExit:觸摸從控件內部拖動到外部時
TouchUpInside:在控件之內觸摸并抬起事件
TouchUpOutside:在控件之外觸摸抬起事件
TouchCancel:觸摸取消事件掺喻,即一次觸摸因為放上太多手指而被取消,或者電話打斷