След като зададете нюанса на UISearchBar
на бяло:
Между полето за търсене и таблицата има допълнителна черна линия:
Как мога да премахна черната линия?
След като зададете нюанса на UISearchBar
на бяло:
Между полето за търсене и таблицата има допълнителна черна линия:
Как мога да премахна черната линия?
Само ощипване...
searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor];
Осъзнавам, че отговорът на Legolas е стар - но се натъкнах на същия проблем и сега изглежда, че вместо 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 new];
Вижте обяснението от „theMonster“ тук: https://stackoverflow.com/a/25275021/1751266
searchBar.backgroundColor = [UIColor clearColor];
не помага. - person ohho   schedule 30.12.2011