Я столкнулся с самой странной ошибкой отображения моего UISearchBar
.
Вот мой код, который отлично работает в другом приложении. (Я создаю строку поиска в коде, потому что XIB-файл не представляется возможным.)
searchBar = [[UISearchBar alloc] initWithFrame:
CGRectMake(0, 0, self.tableView.frame.size.width, 44)];
searchBar.delegate = self;
searchController = [[UISearchDisplayController alloc]
initWithSearchBar:searchBar contentsController:self];
searchController.delegate = self;
searchController.searchResultsDataSource = self;
searchController.searchResultsDelegate = self;
self.tableView.tableHeaderView = searchBar;
Функция поиска и т. Д. Работает нормально. Но как ни странно, строка поиска выглядит как на устройстве, так и на симуляторе:
- Строка-заполнитель должна быть не там, а справа.
- Когда я ввожу текст для поиска, он также начинается слишком далеко слева, через него отображается значок увеличительного стекла.
- Кроме того, установка
searchBar.placeholder
или searchBar.prompt
на @""
или nil
не удаляет этот заполнитель «Поиск». (Тем не менее,
searchBar.placeholder = @"FooBar";
отобразит «FooBar», но все еще в неправильном положении.
- Наконец, я нахожу странным, что строка «Поиск», хотя я установил язык на что-то другое (скажем, немецкий).
Любая помощь? Самая насущная проблема - перевести текст вправо.