Внешний вид UISearchBar по-прежнему показывает границу в 1 пиксель при опускании

Это снимок экрана, когда вы тянете стол вниз (что оттягивает панель поиска от вкладок вверху).

введите здесь описание изображения

Моя панель поиска настраивается через API внешнего вида.

Эта верхняя граница в 1 пиксель остается, даже несмотря на то, что я установил фоновое изображение. Он меняет цвет в зависимости от «стиля» панели поиска (в данном случае панель поиска настроена на черный непрозрачный цвет).

Любая идея, как избавиться от него? Я попытался установить чистый цвет фона и попытался изменить цвет границы слоя панели поиска.


person Bob Spryn    schedule 18.04.2013    source источник
comment
Вы пытались создать собственный SearchField? Я могу опубликовать пример, если хотите, я сделал совершенно новый для приложения, которое я сделал, поскольку обычный внешний вид на самом деле не делал того, что я хотел.   -  person Leeloo Levin    schedule 18.04.2013
comment
Я бы не. Внешний вид в основном делает то, что мне нужно, за исключением этой надоедливой маленькой линии в 1 пиксель.   -  person Bob Spryn    schedule 18.04.2013


Ответы (1)


Я не нашел чистого способа, но, перебирая подвиды, я нашел представление изображения, используемое для создания этой строки. Его кадр (0, -1, 320, 1).

Чтобы удалить его, я проверяю равенство и удаляю:

for (UIView *view in self.searchDisplayController.searchBar.subviews) {
    if (CGPointEqualToPoint(CGPointMake(0, -1), view.frame.origin) && CGSizeEqualToSize(view.frame.size, CGSizeMake(self.view.frame.size.width, 1))) {
        [view removeFromSuperview];
        self.searchBarLineRemoved = YES;
    }
}
person Bob Spryn    schedule 18.04.2013
comment
И будем надеяться, что она обойдет опекунов App Store! :) - person matt; 18.04.2013
comment
Должен! Никаких частных API. Я получил приложения, просматривая их подвиды. - person Bob Spryn; 18.04.2013