2016-04-12 4 views
1

отменить В моем быстром приложении У меня есть строка поиска, как это:UISearchBar установить различный оттенок цвета для кнопки

lazy var searchBar = UISearchBar(frame: CGRectMake(0, 0, 0, 0)) 
searchBar.delegate = self 
searchBar.showsCancelButton = true 
searchBar.tintColor = UIColor.blackColor() 
searchBar.spellCheckingType = .No 
searchBar.autocapitalizationType = .None 
searchBar.autocorrectionType = .No 
searchBar.placeholder = "Suchbegriff eingeben ..." 
searchBar.sizeToFit() 

Как я могу установить другой оттенок цвета для кнопки отмены, как цвет оттенка для всей панели поиска?

+0

Я отправил ответьте на этот вопрос здесь: http://stackoverflow.com/a/42444940/4754881 –

ответ

5

я нашел решение:

let view: UIView = self.searchBar.subviews[0] as UIView 
let subViewsArray = view.subviews 

    for subView: UIView in subViewsArray { 
     if subView.isKindOfClass(UITextField){ 
      subView.tintColor = UIColor.blackColor() 
     } 
    } 
1

Чтобы сделать это, вы должны получить доступ к кнопке подвид, а затем изменить его цвет, вы можете сделать это так:

for subview in searchBar.subviews { 
      if subview is UIButton { //checking if it is a button 
       subview.tintColor = UIColor.greenColor() 
      } 
     } 
+0

это не работает – Stack108

+0

Жаль, что я не тестировал его, но я вижу, что вы решили его использовать часть цикла, я забыл, что было более одного слоя подсмотров :) – Eric

Смежные вопросы