讓 search bar 的輸入文字不再自動大寫

iOS SDK 內建的 search bar 讓我們很容易地為 App 加上搜尋的輸入框,不僅於此,它還貼心地自動將輸入的第一個字變大寫。

ps: 特別感謝學生 Yaya 作業提供的聖誕圖片

但是,如果我們想要的是開頭小寫呢 ? 看起來挺容易的,search bar 的 Attributes Inspector 頁面有個控制開頭是否自動大寫的 Capitalization 欄位,將它設為 None 就不會變大寫了吧。

可惜,我們被騙了,我猜是 Apple 用心良苦,想要增加我們的程式功力,希望我們多寫些程式。還好只有一行,只要在程式碼裡設定 search bar 的 autocapitalizationType 屬性,將它設成 none,即可讓它乖乖聽話地小寫 !

searchBar.autocapitalizationType = .none

執行結果

autocapitalizationType 的型別是 UITextAutocapitalizationType,定義如下,有四種不同的 case :

public enum UITextAutocapitalizationType : Int {case nonecase wordscase sentencescase allCharacters}

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

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store