2013-02-15 21 views
8

Mam zainstalowany pasek wyszukiwania, który pokazuje przycisk anulowania, gdy użytkownik ma fokus w pasku wyszukiwania. W tym celu napisałem searchBar.showsCancelButton = YES; w mojej metodzie searchBarTextDidBeginEditing. W wersji searchBarSearchButtonClicked rezygnuję z klawiatury, aby użytkownik mógł oglądać pełny widok tabeli.Przycisk anulowania UISearchBar nie odpowiada

Problem: W tym momencie przycisk anulowania paska wyszukiwania nie odpowiada. Odpowiada tylko raz, gdy pasek wyszukiwania ponownie się skupi. Czy jest to domyślna właściwość przycisku Anuluj paski wyszukiwania, czy też brakuje mi czegoś w moim kodzie. Chcę użyć przycisku anulowania bez ponownego ustawiania ostrości na pasku wyszukiwania.

+1

jak można zrezygnować firstresponder na tekstowym z serachbar? –

+0

czy sprawdziłeś moją odpowiedź? – Rajneesh071

+0

To jest prawda ... projektowana lub nie, powinna działać, jeśli jest obecna. – Morkrom

Odpowiedz

4

To jest domyślne zachowanie przycisku anulowania paska wyszukiwania. Jeśli chcesz mieć inną funkcjonalność, możesz po prostu odznaczyć właściwość cancelbutton dla paska wyszukiwania i możesz użyć UIButton jako przycisku anulowania.

+1

Dzięki! Spróbuję wprowadzić własny przycisk anulowania – JiteshW

3

Myślę, że jest to domyślne zachowanie UISearchBar, gdy zostanie ustawiona ostrość wtedy i tylko wtedy przycisk Anuluj zostanie włączony. Nie można uzyskać zdarzenia przycisku anulowania UISearchBar, gdy nie ma ono żadnego skupienia.

więc mój suggession aby osiągnąć swoje zadanie,

  • utworzyć pasek narzędzi
  • Insert UIBarButtonItem z widoku niestandardowego jako UISearchBar
  • Insert UIBarButtonItem nazwie "Cancel" z działania
4

Tak, możesz zadzwonić pod numer, aby anulować swój przycisk anulowania UISearchBar. Domyślnie jest wyłączony, ale można uzyskać dostęp do jego widoku podrzędnego, a następnie ustawić opcję włączania, aby anulować.

for (id object in [mySearchBar subviews]) 
{ 
    if ([object isKindOfClass:[UIButton class]]) 
    { 
     UIButton *searchBarCancelBtn = (UIButton*)object; 
     [searchBarCancelBtn setEnabled:YES]; 
    } 
} 

Śledź tę odpowiedź, jeśli chcesz jakąś inną logikę Custom clear button in UISearchBar text field

Powiązane problemy