Как да премахнете допълнителната черна линия под UISearchBar?

След като зададете нюанса на UISearchBar на бяло:

въведете описание на изображението тук

Между полето за търсене и таблицата има допълнителна черна линия:

въведете описание на изображението тук

Как мога да премахна черната линия?


person ohho    schedule 30.12.2011    source източник
comment
изчистихте ли фона на лентата за търсене?   -  person Maulik    schedule 30.12.2011
comment
searchBar.backgroundColor = [UIColor clearColor]; не помага.   -  person ohho    schedule 30.12.2011


Отговори (3)


Само ощипване...

searchBar.layer.borderWidth = 1;
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor];
person Legolas    schedule 30.12.2011

Осъзнавам, че отговорът на 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];
}
person Filibustr    schedule 17.12.2013
comment
Няма такова нещо като getSubviewByClass: метод на UIView базов клас. - person DZenBot; 05.01.2014
comment
Ето защо написах за това в скоби над примерния код. Това е категория, която създадох, за да улесня извършването на рекурсивни търсения в UIViews. - person Filibustr; 09.01.2014
comment
Това не е ли решение, ако искате приложението ви да бъде отхвърлено? - person Iulian Onofrei; 17.09.2015

searchBar.backgroundImage = [UIImage new];

Вижте обяснението от „theMonster“ тук: https://stackoverflow.com/a/25275021/1751266

person CMash    schedule 01.04.2016