利用 UITextContentType 顯示使用者的電話和 email

有些 iOS App 彷彿有讀心術,在我們輸入文字時就能猜出我們想輸入的內容,比方以下畫面輸入電話和 email 時,App 自動猜出我們的電話和 email。

DoorDash App 的帳號註冊畫面

讀心術解密

其實 iOS 不會讀心術,它只是從通訊錄的個人資料讀取使用者的相關資訊。

像電話,email 這類常輸入的文字,每次都要一個一個字打實在太煩了。因此從 iOS 10 開始,iOS SDK 多了 UITextContentType,只要設定 text field 或 text view 的 text content type,即可讓使用者輸入電話,email 等常用欄位時,自動顯示相關的內容。

設定 text content type 的方法

方法1: 從 Interface Builder 設定

點選 text field 或 text view,在 Attributes inspector 頁面選擇 Content Type。

比方選擇 Email Address 將讓文字輸入時顯示使用者的 email。

方法2: 從程式設定

@IBOutlet weak var textField: UITextField!override func viewDidLoad() {   super.viewDidLoad()   textField.textContentType = .emailAddress}

設定 text field or text view 的 property textContentType。textContentType 的型別是 UITextContentType,UITextContentType 裡定義了許多型別 property,分別對應我們時常輸入的文字內容,比方 emailAddress & telephoneNumber。

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com