Цвет панели пользовательского поиска отличается от цвета в UINavigationBar

#objective-c #ios7 #uinavigationbar #uisearchbar

#objective-c #ios7 #панель пользовательского поиска

Вопрос:

Я использую:

 #define colorApp  [UIColor colorWithRed:254/256.f green:64/256.f blue:89/256.f alpha:1.0]
  

Внутри инициализации customSearchView:

     [self setBackgroundColor:colorApp];
    searchBar = [[UISearchBar alloc] initWithFrame:frame];
    searchBar.barTintColor = colorApp;
    [self addSubview:searchBar];
  

Получаем следующий результат:

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

Мне нужно, чтобы цвет searchBarTint совпадал с цветом навигации. Полупрозрачный, похоже, не выполняет свою работу.

Ответ №1:

Я придумал исправление вскоре после того, как опубликовал вопрос.

На случай, если кто-нибудь когда-нибудь столкнется с этой проблемой, я использовал

  [self.searchDisplayController.searchBar setBackgroundImage:[UIImage imageNamed:@"pinkBar.png"]
                                                forBarPosition:0
                                                    barMetrics:UIBarMetricsDefault];
  

Кажется, backgroundColor и barTintColor не воспринимают цвета так же, как навигация для UISearchDisplayController начиная с iOS 7. Но добавление изображения с таким цветом просто решает эту проблему.

Я знаю, что это просто быстрое решение, но оно помогло мне и могло бы помочь другим, поскольку это незначительная визуальная проблема.