UIButtonType.ContactAdd:前面帶「+」圖標按鈕,默認文字顏色爲藍色,有觸摸時的高亮效果 UIButtonType.DetailDisclosure:前面帶「!」圖標按鈕,默認文字顏色爲藍色,有觸摸時的高亮效果 UIButtonType.System:前面不帶圖標,默認文字顏色爲藍色,有觸摸時的高亮效果 UIButtonType.Custom:定製按鈕,前面不帶圖標,默認文字顏色爲白色,無觸摸時的高亮效果 UIButtonType.InfoDark:爲感嘆號「!」圓形按鈕 UIButtonType.InfoLight:爲感嘆號「!」圓形按鈕
//建立一個ContactAdd類型的按鈕 let button:UIButton = UIButton(type:.ContactAdd) //設置按鈕位置和大小 button.frame=CGRectMake(10, 150, 100, 30) //設置按鈕文字 button.setTitle("按鈕", forState:UIControlState.Normal) self.view.addSubview(button);
let button = UIButton(frame:CGRectMake(10, 150, 100, 30))
button.setTitle("普通狀態", forState:UIControlState.Normal) //普通狀態下的文字 button.setTitle("觸摸狀態", forState:UIControlState.Highlighted) //觸摸狀態下的文字 button.setTitle("禁用狀態", forState:UIControlState.Disabled) //禁用狀態下的文字
button.setTitleColor(UIColor.blackColor(),forState: .Normal) //普通狀態下文字的顏色 button.setTitleColor(UIColor.greenColor(),forState: .Highlighted) //觸摸狀態下文字的顏色 button.setTitleColor(UIColor.grayColor(),forState: .Disabled) //禁用狀態下文字的顏色
button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal) //普通狀態下文字陰影的顏色 button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //普通狀態下文字陰影的顏色 button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //普通狀態下文字陰影的顏色
button.backgroundColor=UIColor.blackColor()
button.setImage(UIImage(named:"icon1"),forState:.Normal) //設置圖標 button.adjustsImageWhenHighlighted=false //使觸摸模式下按鈕也不會變暗 button.adjustsImageWhenDisabled=false //使禁用模式下按鈕也不會變暗
button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)
//不傳遞觸摸對象(即點擊的按鈕) 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)) }
經常使用的觸摸事件類型:swift
TouchDown:單點觸摸按下事件,點觸屏幕 TouchDownRepeat:多點觸摸按下事件,點觸計數大於1,按下第二、3或第4根手指的時候 TouchDragInside:觸摸在控件內拖動時 TouchDragOutside:觸摸在控件外拖動時 TouchDragEnter:觸摸從控件以外拖動到內部時 TouchDragExit:觸摸從控件內部拖動到外部時 TouchUpInside:在控件以內觸摸並擡起事件 TouchUpOutside:在控件以外觸摸擡起事件 TouchCancel:觸摸取消事件,即一次觸摸由於放上太多手指而被取消,或者電話打斷