目錄
- 1 簡介
- 2 Button宣告
- 3 Button點擊事件
- 4 Button常用手勢介紹
- 5 Button Layout 畫面設計
- 5.1 設置按鈕文字
- 5.2 設置按鈕文字顏色
- 5.3 設置按鈕陰影顏色
- 5.4 設置按鈕圖片
- 5.5 設置按鈕背景圖片
- 5.6 設置按鈕內建圖示
- 5.7 按鈕文字格式
- 5.8 取得按鈕文字
- 5.9 取得按鈕文字顏色
- 5.10 取得按鈕陰影顏色
- 5.11 取得按鈕圖片
- 5.12 取得按鈕背景圖案
- 5.13 取得按鈕內建圖示
- 5.14 取得按鈕文字格式
- 5.15 取得按鈕當前文字
- 5.16 取得按鈕當前文字顏色
- 5.17 取得按鈕當前陰影顏色
- 5.18 取得按鈕當前圖片
- 5.19 取得按鈕當前背景圖片
- 5.20 取得按鈕當前內建圖示
- 5.21 取得按鈕當前文字格式
- 5.22 按鈕上的文字元件
- 5.23 按鈕上的圖片元件
- 5.24 取得背景座標
- 5.25 取得內容座標
- 5.26 取得文字坐標
- 5.27 取得圖片座標
- 5.28 內鈕內容位移
- 5.29 按鈕文字內容位移
- 5.30 按鈕陰影在上或在下
- 5.31 按鈕圖片位移
- 5.32 按鈕點擊時變暗
- 5.33 按鈕禁用時變暗
- 5.34 按鈕點擊時圖片發光
- 5.35 按鈕文字顏色元件
- 5.36 按鈕文字顏色元件
- 6 出處
簡介
按鈕是什麼? 按鈕要怎麼添加? 在iOS按鈕為最基礎元件之一,使用者可以設置文字或圖片設計按鈕,再搭配所需的按鈕事件完成畫面部署及功能,這裡將提供所有UIButton詳細Swift教學。
Button宣告
UIButton裡面繼承的是UIControl
UIControl繼承UIView
所以UIButton也是UIView的一環
class UIButton : UIControl
class UIControl : UIView
Button點擊事件
用戶點擊時會透過Target-Action設計模式來通知你的程式,不直接處理觸摸事件,是透過Interface Builder連結到你的事件。action方式也分下面三種。
xib/storyboard 連接事件
@IBAction func doSomething()
@IBAction func doSomething(sender: UIButton)
@IBAction func doSomething(sender: UIButton, forEvent event: UIEvent)
addTarge 連接事件
button.addTarget(self, action: #selector(doSomething), for: .touchUpInside)
@objc func doSomething()
@objc func doSomething(sender: UIButton)
@objc func doSomething(sender: UIButton, forEvent event: UIEvent)
Button常用手勢介紹
UIEvent裡面有幾種手勢點擊模式
touchDragEnter 按住滑進
touchDragExit 按住滑出
touchDragOutside 按住滑進
touchDragInside 按住滑出
touchDownRepeat 重複點擊
touchDown 按下事件
touchUpInside 按下放開
touchUpOutside 按下在外面放開
touchCancel 按住取消
沒式出來
Button Layout 畫面設計
按鈕組合是由以下方官圖示原件組成包括:
– BackgroundImage: 背景圖片
– Image: 按鈕前方圖片
– Title: 顯示文字
設置按鈕文字
func setTitle(_ title: String?, for state: UIControl.State)
設置按鈕文字顏色
func setTitleColor(_ color: UIColor?, for state: UIControl.State)
設置按鈕陰影顏色
func setTitleShadowColor(_ color: UIColor?, for state: UIControl.State)
設置按鈕圖片
func setImage(_ image: UIImage?, for state: UIControl.State)
設置按鈕背景圖片
func setBackgroundImage(_ image: UIImage?, for state: UIControl.State)
設置按鈕內建圖示
WWDC 2019年添加
iOS 13.0 以上
func setPreferredSymbolConfiguration(_ configuration: UIImage.SymbolConfiguration?, forImageIn state: UIControl.State)
按鈕文字格式
iOS 6.0 以上
func setAttributedTitle(_ title: NSAttributedString?, for state: UIControl.State)
取得按鈕文字
func title(for state: UIControl.State) -> String?
取得按鈕文字顏色
func titleColor(for state: UIControl.State) -> UIColor?
取得按鈕陰影顏色
func titleShadowColor(for state: UIControl.State) -> UIColor?
取得按鈕圖片
func image(for state: UIControl.State) -> UIImage?
取得按鈕背景圖案
func backgroundImage(for state: UIControl.State) -> UIImage?
取得按鈕內建圖示
@available(iOS 13.0, *)
func preferredSymbolConfigurationForImage(in state: UIControl.State) -> UIImage.SymbolConfiguration?
取得按鈕文字格式
@available(iOS 6.0, *)
func attributedTitle(for state: UIControl.State) -> NSAttributedString?
取得按鈕當前文字
var currentTitle: String? { get }
取得按鈕當前文字顏色
var currentTitleColor: UIColor { get }
取得按鈕當前陰影顏色
var currentTitleShadowColor: UIColor? { get }
取得按鈕當前圖片
var currentImage: UIImage? { get }
取得按鈕當前背景圖片
var currentBackgroundImage: UIImage? { get }
取得按鈕當前內建圖示
@available(iOS 13.0, *)
var currentPreferredSymbolConfiguration: UIImage.SymbolConfiguration? { get }
取得按鈕當前文字格式
@available(iOS 6.0, *)
var currentAttributedTitle: NSAttributedString? { get }
按鈕上的文字元件
@available(iOS 3.0, *)
var titleLabel: UILabel? { get }
按鈕上的圖片元件
@available(iOS 3.0, *)
var imageView: UIImageView? { get }
取得背景座標
func backgroundRect(forBounds bounds: CGRect) -> CGRect
取得內容座標
func contentRect(forBounds bounds: CGRect) -> CGRect
取得文字坐標
func titleRect(forContentRect contentRect: CGRect) -> CGRect
取得圖片座標
func imageRect(forContentRect contentRect: CGRect) -> CGRect
內鈕內容位移
var contentEdgeInsets: UIEdgeInsets
按鈕文字內容位移
var titleEdgeInsets: UIEdgeInsets
按鈕陰影在上或在下
var reversesTitleShadowWhenHighlighted: Bool
按鈕圖片位移
var imageEdgeInsets: UIEdgeInsets
按鈕點擊時變暗
點下暗掉 彈起亮起來
var adjustsImageWhenHighlighted: Bool
按鈕禁用時變暗
button.isEnabled = false
變暗
var adjustsImageWhenDisabled: Bool
按鈕點擊時圖片發光
var showsTouchWhenHighlighted: Bool
按鈕文字顏色元件
@available(iOS 5.0, *)
var tintColor: UIColor!
按鈕文字顏色元件
var buttonType: UIButton.ButtonType { get }
UIButtonTypeCustom
UIButtonTypeRoundedRect
UIButtonTypeDetailDisclosure
UIButtonTypeInfoLight
UIButtonTypeInfoDark
UIButtonTypeContactAdd
出處
Swift更多文章
Swift字串拼接 文字拼接
Swift 字串擷取 文字擷取
Swift – 陣列轉字串 | Array to String | List to String | description
Swift Date 現在星期幾 這個月有幾天
Swift – 正規表達式 (電話/身分證/email)
Swift更多文章
Swift 彈出視窗 AlertController 的使用方法 💥