2015-10-28 85 views
4

在iOS的7.x中,我們能夠使用變化的UISearchBar文本顏色9+

[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] 
    setDefaultTextAttributes:@{NSForegroundColorAttributeName:myColor}]; 

但它得到了在IOS 9不贊成我所知道的唯一的解決辦法 - 就是通過UISearchBar子視圖層次遍歷,請查找UITextField並更改其屬性。但是,這種方式被認爲是私有API使用

我們有法律辦法改變的UISearchBar文本顏色的iOS 9.x中?

+0

只是因爲它是過時,並不意味着你不能使用它(見http://stackoverflow.com/a/ 4133201/4062250如果你被警告所困擾)。 – deadbeef

+0

根本沒有這樣的方法,至少在Swift中'UIAppearance'協議不包含這樣的方法:https://gist.github.com/OgreSwamp/d554536d8f747d618483 – OgreSwamp

+0

沒想到那個......也許這會幫助:http://stackoverflow.com/questions/24136874/appearancewhencontainedin-in-swift – deadbeef

回答

0

現在,您需要使用appearanceWhenContainedInInstancesOfClasses:

例如:

[[UITextField appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]] setTextColor:[UIColor whiteColor]];