標籤:swift ios 按鈕 uibutton
轉載請聲明出處:http://blog.csdn.net/jinnchang/article/details/44403537
1、UIButton 概述
繼承關係:UIButton -> UIControl -> UIView
控制項樣式:
2、UIButton 初始化(1)使用 buttonWithType 構建按鈕,已有的六種類型如下:
enum UIButtonType : Int { case Custom// 自訂風格 case System// 圓角矩形 case DetailDisclosure// 藍色小箭頭 case InfoLight// 亮色驚嘆號 case InfoDark// 暗色驚嘆號 case ContactAdd// 十字加號}
(2)使用 frame 自訂按鈕
3、使用樣本
override func viewDidLoad() { // 1、使用已有類型構建按鈕 let commonButton = UIButton.buttonWithType(.System) as UIButton // 修改按鈕位置及大小 commonButton.frame = CGRectMake(self.view.frame.width/2 - 100, 100, 200, 200) // 設定按鈕背景圖片 commonButton.setBackgroundImage(UIImage(named:"logo.jpg"), forState: UIControlState.Normal) // 添加點擊事件 commonButton.addTarget(self, action: "buttonActions:", forControlEvents: UIControlEvents.TouchUpInside) // 設定按鈕標籤 commonButton.tag = 1 // 2、自訂按鈕 let customButton = UIButton(frame: CGRectMake(self.view.frame.width/2 - 100, 400, 200, 200)) // 設定按鈕標題 customButton.setTitle("custom", forState: UIControlState.Normal) // 設定按鈕標題顏色 customButton.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal) // 設定按鈕標題陰影 customButton.setTitleShadowColor(UIColor.blackColor(), forState: UIControlState.Normal) // 設定按鈕陰影 customButton.titleLabel?.shadowOffset = CGSizeMake(1.0, 1.0) // 設定按鈕標題字型樣式 customButton.titleLabel!.font = UIFont.systemFontOfSize(18) // 設定按鈕標題換行模式 customButton.titleLabel!.lineBreakMode = .ByTruncatingTail // 設定按鈕背景色 customButton.backgroundColor = UIColor(red:0.8,green:0.8,blue:0.8,alpha:1.0) // 設定按鈕內部內容邊距 customButton.contentEdgeInsets = UIEdgeInsetsMake(-100, 0, 0, 0) // 去掉高亮狀態下的映像顏色加深 customButton.adjustsImageWhenHighlighted = false; // 去掉禁用狀態下的映像顏色加深 customButton.adjustsImageWhenDisabled = false; // 添加按鈕按下光暈效果 customButton.showsTouchWhenHighlighted = true; // 添加點擊事件 customButton.addTarget(self,action:"buttonActions:",forControlEvents:UIControlEvents.TouchUpInside) // 設定按鈕標籤 customButton.tag = 2 self.view.addSubview(commonButton) self.view.addSubview(customButton)}/// 響應按鈕點擊事件func buttonActions(sender: UIButton!) { println(sender.tag)}
4、forState這個參數的作用是定義按鈕的文字或圖片在何種狀態下才會顯現。有以下幾種狀態:
- Normal(正常狀態)
- Highlighted(按下狀態)
- Disabled(禁用狀態)
- Selected(選中狀態(手指已經離開))
- Application(應用程式標誌)
- Reserved(預留狀態)
5、兩種設定背景圖片方式的區別
- setBackGroudImage:圖片會被展開
- setImage:圖片保持原大小
6、結語Github 上項目地址:UIButtonSample文章最後更新時間:2015年3月18日10:11:03。參考資料如下:
(1)UIButton Class Reference
(2)UIKit User Interface Catalog: Buttons
論 Swift 開發入門 : 按鈕(UIButton)