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)
//設(shè)置按鈕位置和大小
button.frame=CGRectMake(10, 150, 100, 30)
//設(shè)置按鈕文字
button.setTitle("按鈕", forState:UIControlState.Normal)
self.view.addSubview(button);

2.對于Custom定制類型按鈕,代碼可簡化為:

let button = UIButton(frame:CGRectMake(10, 150, 100, 30))

3.按鈕的文字設(shè)置

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)下的文字

4.按鈕文字顏色的設(shè)置

button.setTitleColor(UIColor.blackColor(),forState: .Normal) //普通狀態(tài)下文字的顏色
button.setTitleColor(UIColor.greenColor(),forState: .Highlighted) //觸摸狀態(tài)下文字的顏色
button.setTitleColor(UIColor.grayColor(),forState: .Disabled) //禁用狀態(tài)下文字的顏色

5.按鈕文字陰影顏色的設(shè)置

button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal) //普通狀態(tài)下文字陰影的顏色
button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //普通狀態(tài)下文字陰影的顏色
button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //普通狀態(tài)下文字陰影的顏色

6. 按鈕背景顏色設(shè)置

button.backgroundColor=UIColor.blackColor()

7.按鈕文字圖標的設(shè)置

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

8.設(shè)置按鈕背景圖片

button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)

9.按鈕觸摸點擊事件響應(yīng)

//不傳遞觸摸對象(即點擊的按鈕)
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:觸摸在控件內(nèi)拖動時
TouchDragOutside:觸摸在控件外拖動時
TouchDragEnter:觸摸從控件之外拖動到內(nèi)部時
TouchDragExit:觸摸從控件內(nèi)部拖動到外部時
TouchUpInside:在控件之內(nèi)觸摸并抬起事件
TouchUpOutside:在控件之外觸摸抬起事件
TouchCancel:觸摸取消事件,即一次觸摸因為放上太多手指而被取消,或者電話打斷
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容