2015-11-02 13 views
1

Мой макет помещает панель поиска UISearchController в качестве подзаголовка моего заголовка таблицы, а также другие пользовательские элементы управления (кнопки и т. Д.).Как получить серый цвет по умолчанию UISearchBar

Для того, чтобы все элементы управления внутри вида заголовка, чтобы «вписаться в», я хочу, чтобы установить цвет фона мнения, Header, совпадающими в строке поиска (то есть, светло-серый внешний обод, в не входное текстовое поле - белое).

Я попытался запрашивая как панель поиска в backgroundColor и barTintColor СВОЙСТВ в viewDidLoad(), но и вернуть nil, и мой взгляд заголовка заканчивается белого.

Я мог жесткий код цвета (ColorPicker сообщает, что это будет RGB (199, 199, 204), по крайней мере, на тренажере), но это не элегантное решение и сломается в один прекрасный день, когда Apple, меняет внешний вид.

ответ

2

Фон для панели поиска - это изображение, поэтому вы не можете получить его цвет фона. Однако, если вы просто хотите, чтобы он входил в него, вы можете изменить изображениеView прозрачным и установить цвет фона на все, что пожелаете. Было найдено, что UIImageView находится здесь, используя отладчик вида в Xcode.

В Swift 2.0

(searchBar.subviews[0].subviews[0] as! UIImageView).alpha = 0 
+0

Благодарим Вас за отзыв. Это отвечает на мой вопрос, но, к сожалению, это не решает мою проблему: полагаясь на то, что частная реализация внутреннего макета панели поиска, скорее всего, сломается в будущем, поскольку она жестко кодирует цвет фона. Думаю, мне придется выбирать меньшее зло ... –