Курсор не отображается в UISearchBar для нашего приложения. - программирование
Подтвердить что ты не робот

Курсор не отображается в UISearchBar для нашего приложения.

Для UISearchBars в нашем приложении курсор не отображается на панели с фокусом при работе под iOS 7. Как это сделать?

Мы используем SDK 7 с минимальной целью 6. У нас есть прозрачность для навигационных панелей и задается цвет во время выполнения. Я не могу думать ни о чем другом, что мы делаем по-другому.

4b9b3361

Ответ 1

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

Ответ 2

Set

searchBar.tintColor = [UIColor blueColor];

Ответ 3

В окне свойств окна поиска

открыть раздел "Вид" > "Установить цвет оттенка" - по умолчанию.

enter image description here

Надеюсь, это поможет.

Ответ 4

Вот как это можно сделать в Swift:

override func viewWillAppear(animated: Bool) {
    self.searchBar.tintColor = UIColor.whiteColor()

    let view: UIView = self.searchBar.subviews[0] as! UIView
    let subViewsArray = view.subviews

    for (subView: UIView) in subViewsArray as! [UIView] {
        println(subView)
        if subView.isKindOfClass(UITextField){
            subView.tintColor = UIColor.blueColor()
        }
    }

}

Ответ 5

Просто установите tintColor для UISearchBar, в вашем раскадровке, xib или коде. Xcode, похоже, игнорирует значение tintColor по умолчанию.

Ответ 6

Вы можете прокрутить подзоны searchBars и получить подвью uitextfield и установить его значение @ "insertionPointColor" на нужный вам цвет. Работает, но является частным api

for (UIView *subView in self.searchBar.subviews) {
    if ([subView isKindOfClass:[UITextField class]]) {
        [[(UITextField *) subView valueForKey:@"textInputTraits"] setValue:[UIColor blackColor] forKey:@"insertionPointColor"];
    }
}

Ответ 7

searchBar.tintColor = view.tintColor  // self.view usually has the proper tintColor

Лучше, чем .blue или что-то еще.