После установки оттенка UISearchBar
на белый:
Между полем поиска и таблицей есть лишняя черная линия:
Как убрать черную полосу?
После установки оттенка UISearchBar
на белый:
Между полем поиска и таблицей есть лишняя черная линия:
Как убрать черную полосу?
Просто доработка...
searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor];
Я понимаю, что ответ Леголаса устарел, но я наткнулся на ту же проблему, и теперь кажется, что вместо borderColor есть специальный вид, действующий как тень, которая создает этот эффект.
Единственный способ исправить это — найти представление с именем «_UISearchBarShadowView» и скрыть его.
Это подвид подвида searchDisplayController.searchResultsTableView и существует только после ввода символа в строку поиска. Я исправил проблему с кодом ниже.
(getSubviewByClass — это категория UIView, которую я создал для циклического просмотра представлений и поиска подпредставлений по строке)
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
[self performSelector:@selector(searchResultsTableShouldChange) withObject:nil afterDelay:0.0001];
}
- (void)searchResultsTableShouldChange {
[[self.view getSubviewByClass:@"_UISearchBarShadowView"] setHidden:YES];
}
searchBar.backgroundImage = [UIImage новый];
См. объяснение от «Монстра» здесь: https://stackoverflow.com/a/25275021/1751266
searchBar.backgroundColor = [UIColor clearColor];
не помогает. - person ohho   schedule 30.12.2011