簡介
按鈕是什麼? 按鈕要怎麼添加? 在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 的使用方法 💥
best medicine for ulcer pain what is duodenitis without bleeding get uti prescription online
purchase promethazine for sale best ed pills at gnc stromectol 6mg online