2014-02-02 1 views
0

Я пытаюсь направить текстовое поле UISearchBar в верхний регистр, когда пользователь печатает.Как форсировать текст UISearchBar в верхнем регистре в iOS

это то, что я пробовал, но его не работает.

UISearchBar *filterSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(10.0, 170.0, 280.0, 40.0)]; 
    filterSearchBar.delegate = self; 
    filterSearchBar.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters; 
    [allBackGroundView addSubview:filterSearchBar]; 

любая помощь будет принята с благодарностью.

+0

Th на правом коде. Что происходит, когда вы вводите поле поиска? Вы уверены, что используется панель поиска? – rmaddy

+0

, когда я печатаю его, отображается в нижнем регистре и будет работать только в верхнем регистре, если я использую клавишу shift на клавиатуре. На 100% это правильный UISearchBar. – HurkNburkS

+5

Выполняете ли вы это в Simulator при наборе текста на клавиатуре вашего компьютера? Это недействительный тест. Проверьте, нажав на фактическую клавиатуру в приложении или протестируйте на реальном устройстве. Использование клавиатуры компьютера в симуляторе не оправдывает правильность текстового поля/просмотра. – rmaddy

ответ

0

Чтобы это сделать, вы должны использовать методы делегирования панели поиска. У меня нет Xcode открытой, чтобы проверить это, но это должно работать ...

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { 
    searchText = [searchText uppercaseString]; 
} 
+0

Я только что попробовал это и не работал. Я займусь аналогичным решением, если у вас нет больше идей. Я думаю, что его не woking причина searchText никогда не возвращается из этого метода ** (void) ** так будет выглядеть и в других методах делегата searchBar – HurkNburkS

7

Используйте ниже метод делегата SearchBar для силы прописные буквы

Objective-C

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { 
     searchBar.text = searchText.uppercaseString; 
} 

Swift

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) { 
     searchBar.text = searchText.uppercaseString 
} 
Смежные вопросы