#objective-c #ios #uinavigationcontroller #focus #uisearchbar
#objective-c #iOS #uinavigationcontroller #фокус #панель поиска пользовательского интерфейса
Вопрос:
Я добавил панель UISearchBar в UINavigationController просто отлично, но как только я добавляю кнопку отмены в панель поиска, я больше не могу выбирать ее, касаясь ее.
Код, который я использую для создания панели поиска и ее добавления,:
UISearchBar *theSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0f,0.0f,320.0f,0.0f)];
theSearchBar.delegate = self;
[theSearchBar setPlaceholder:@"Search iPad"];
[theSearchBar setShowsCancelButton:YES animated:YES];
self.navigationItem.titleView = theSearchBar;
self.navigationItem.titleView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[theSearchBar release];
Если я удалю строку для добавления кнопки отмены, я смогу сосредоточиться на строке поиска, и поиск будет работать правильно. Как только я ввожу эту строку, она отображается правильно, но я больше не могу сосредоточиться на ней.
Я попытался поместить его в простой контейнер UIView, но это тоже не решило проблему.
Как насчет добавления кнопки отмены может привести к сбою?
ОБНОВЛЕНИЕ: в итоге я не использовал кнопку отмены, потому что решил, что в использовании панели поиска нет необходимости.
Ответ №1:
Я бы определенно рекомендовал UISearchDisplayController: документы Apple.В него встроена кнопка отмены, и, поместив ее в interface builder, вы можете сэкономить много кода. Меньше кода = меньше ошибок.