Я столкнулся с очень странной ошибкой отображения с моим 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", но все равно в неправильном месте. - Наконец, я нахожу странным, что строка «Поиск», хотя я установил другой язык (скажем, немецкий).
Любая помощь? Самая насущная проблема заключается в том, чтобы получить текст справа.