1. 程式人生 > >iOS SDK 常見的 enum 型別例子

iOS SDK 常見的 enum 型別例子

iOS SDK 常見的 enum 型別例子

除了 class & struct,enum 是 Swift 第三種定義型別的方法。一般當資料適合以清單描述時,滿常會以 enum 定義型別。若想多瞭解 enum 的應用,不妨多參考一些 iOS SDK 裡以 enum 定義的型別例子。

NSTextAlignment

控制文字置左,置中,或置右。UILabel,UITextField 和 UITextView 可透過型別 NSTextAlignment 的屬性 textAlignment 控制文字如何對齊。

官方檔案裡的 Enumeration 說明 NSTextAlignment 是 enum。

label.textAlignment = .center
UIView.ContentMode

UIView 的屬性 contentMode 控制 view 的內容如何縮放,型別為 UIView.ContentMode。

imageView.contentMode = .scaleAspectFit
UITextField.BorderStyle

UITextField 的屬性 borderStyle 控制邊框的樣式,型別為 UITextField.BorderStyle。

textField.borderStyle = .roundedRect
UIKeyboardType

鍵盤的樣式。UITextField 和 UITextView 可透過型別 UIKeyboardType 的屬性 keyboardType 控制鍵盤樣式。

textField.keyboardType = .numberPad
UITextField.ViewMode

控制 text field 上的 overlay view 是否顯示。UITextField 的 clearButtonMode,leftViewMode 和 rightViewMode 的型別都是 UITextField.ViewMode,比方 clearButtonMode 控制清除文字的 X 按鈕是否顯示。

textField.clearButtonMode = .always
UIActivityIndicatorView.Style

UIActivityIndicatorView 的屬性 style 控制樣式,型別為 UIActivityIndicatorView.Style。

activityIndicatorView.style = .gray
Calendar.Identifier

月曆的格式。

let calendar = Calendar(identifier: .republicOfChina)
let today = Date()
let dateFormatter = DateFormatter()
dateFormatter.calendar = calendar
dateFormatter.dateStyle = .full
dateFormatter.locale = Locale(identifier: "zh-TW")
let string = dateFormatter.string(from: today)

.republicOfChina 代表臺灣中華民國的月曆。

let calendar = Calendar(identifier: .chinese)

.chinese 代表農曆。