0
所以,我已經看到代碼在Objective-C中使用.setKeyboardAppearance
來完成它,但我無法在swift中找到任何等價物。我正在開發一個tvOS項目,並根據教程使用searchController。我試圖調節鍵盤和有這樣的事情你如何改變鍵盤快速搜索欄的外觀?
searchController!.searchBar is UITextInputTraits // returns true
var searchInput = searchController!.searchBar as UITextInputTraits
searchInput.keyboardAppearance = UIKeyboardAppearance.Dark //error
的問題是,每當我試圖做任務,我得到 Cannot assign to property: 'searchInput' is immutable
即使我使用var初始化它。有什麼我做錯了嗎?
這不僅不雅,而且非常危險。假設文本字段始終是3級深度,並始終是第一個子視圖,然後強制將任何視圖的強制轉換爲文本字段,如果Apple更改它,則您的應用程序將崩潰。如果這是唯一的方法,我建議你遍歷視圖層次結構來查找文本字段,或者至少將其轉換爲可選的以避免崩潰。 – EmilioPelaez
非常好的一點!感謝捕捉我有潛在危險的大腦屁。我調整了我的代碼 –
我剛剛找到了這個答案,我認爲這會更好。這個想法是使用UIAppearance來改變鍵盤外觀。如果你不想覆蓋整個應用程序的外觀,你可以使用'appearanceWhenContainedIn:'。 http://stackoverflow.com/a/19102086/725628 – EmilioPelaez