2013-08-21 4 views
1

Я добавил с помощью интерфейса builder a UISearchBar С UISearchDisplayController в моем UITableView. Я знаю, как установить цвет фона UISearchBar, я делаю это так:Удалить строку UISearchBar с UISearchDisplayController при удалении цвета фона

for (UIView *subview in self.searchBar.subviews) { 
     if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) { 

      [subview removeFromSuperview]; 
     } 
    } 

но вы можете видеть, есть строка, что я не могу понять, и как удалить его, что свиток с Searchbar:

enter image description here

если я вставляю с интерфейсом строитель только UISearchbar без UISearchDisplayController есть не то, что линия, как я могу удалить эту строку?

ответ

3

Используйте вместо этого:

for (UIView *subview in self.searchDisplayController.searchBar.subviews) { 
    if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) { 

     [subview removeFromSuperview]; 
    } 
    } 

Когда мы используем UISearchDisplayController, то SearchBar получает связанный с SearchBar свойством UISearchDisplayController и могут быть доступны с помощью self.searchDisplayController.searchBar

+0

не работает, вы пробовали? – Piero

+0

Да, я только что попробовал. Он удалил фоновый вид строки поиска. –

+0

Почему вы не получаете ошибку компиляции на этой строке self.searchBar? Вы создали отдельную собственность и подключили панель поиска от nib к своей собственности? –

1

Я использую 1px изображения с 0% непрозрачности (image)

self.searchDisplayController.searchBar.backgroundImage=[UIImage imageNamed:@"image"] ; 

и его работа идеальна, как вы хотите.

+0

doens't work ... – Piero

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