1

Я знаю, что я могу установить showsCancelButton в NO для UISearchBar ... пока вы не коснитесь текстового поля поиска бар, а затем кнопка отмены появляется в любом случае ! (По крайней мере, для меня это делается.)Показаны UISearchBar «X» в текстовом поле против смежно кнопку Отмена

Есть ли способ показать «X» по кругу в пределах Текстовое поле UISearchBar против наличия отдельной кнопки Отмена рядом с ней? Обратите внимание, что эта кнопка появляется только для меня, когда режим поиска активен, и это независимо от настройки для показываетCancelButton.

ответ

0

если вы используете Interface Builder это чень легко show.It там по default.i использовал строку поиска в моем приложении и searchbartextfield имеет «X», чтобы очистить текстовое поле

+0

Чтобы уточнить мой вопрос: я спрашиваю, есть ли способ показать «X» в круге против (то есть _instead_ of), когда рядом с ним появляется отдельная кнопка «Отмена». Да, «X» по кругу обязательно появится после ввода текста, но кнопка «Отмена» останется, независимо от настройки для showCancelButton. –

0

Может быть, «X» предназначен только для очистки поля поиска, а не для отмены поиска, поэтому кнопка «Отмена» должна оставаться в режиме поиска, независимо от показываетCancelButton.

2

попробовать этот

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar 
{ 
    // only show the status bar's cancel button while in edit mode 
    mySearchBar.showsCancelButton = NO; 

} 
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar 
{ 
    mySearchBar.showsCancelButton = NO; 
} 

при использовании этого кнопка отмены не будет показано.

+0

Не работает для меня вообще. Когда я добавляю это, кнопка «Отмена» все же появляется, как только я вхожу в режим редактирования, даже когда я прохожу через линию, создающую настройку. –

+0

, но он работает в моем приложении. –

+0

откуда вы добавили UIsearchbar? –

1
for (UIView *searchBarSubview in [searchBar subviews]) { 

    if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) { 

     [(UITextField *)searchBarSubview setClearsOnBeginEditing:YES]; 
    } 
} 

, чтобы включить CancelButton попробовать searchBar.showsCancelButton = YES; Попробуйте эти строки кода.

+0

Спасибо! Я склоняюсь к тому, чтобы бродить по блужданию через подвыборы таким образом (если только это не задокументировано), но вы, безусловно, проявили должную осмотрительность здесь. Чтобы подтвердить, остается ли кнопка «Отмена» или она исчезает, когда это выполняется? –

+0

после выполнения этого кода он покажет символ x в текстовом поле, если вы хотите включить setgutton setCancelButton = YES проверить мой обновленный ответ – Raj

Смежные вопросы