7

Używam w moim kodzie UISearchBar. Zaimportowałem jego delegata w pliku nagłówkowym i zaimplementowałem kilka metod delegowania również w pliku implementacji.Jak mogę wyłączyć/włączyć przycisk wyszukiwania klawiatury UISearchBar?

Po dotknięciu UISearchBar pojawi się klawiatura do wprowadzania tekstu. Klawisz powrotu na klawiaturze to "Wyszukaj" przycisk. Domyślnie zostanie wyłączone. Kiedy wprowadzimy znak, zostanie on włączony. (Mam rację?)

Tutaj pojawia się problem. Chcę włączyć klawisz powrotu klawiatury UISearchBar, gdy użytkownik wpisze co najmniej dwie litery.

Czy to możliwe? Jeśli tak, jak możemy to zrobić?

Dzięki

Odpowiedz

7

Można” t wyłącz przycisk wyszukiwania. Co możesz zrobić, to użyć metod UISearchBarDelegate aby dowiedzieć się, czy należy podjąć działania na przycisk wyszukiwania są kliknięciu tak:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    if (searchBar.text.length < 2) { 
     return; 
    } 
    else { 
     // Do search stuff here 
    } 
} 

Apple Documentation tego jest bardzo przydatny, jak również, i jest doskonałym punktem wyjścia do dostosowywania zachowania paska wyszukiwania.

+1

Ale dla użytkownika nie jest jasne, czy przycisk wyszukiwania jest aktywny, ale nie rób nic, –

+0

Tak jak @NikKov powiedział. wyłączyć (przełączyć na szary kolor) przycisk wyszukiwania. –

-1

Można spróbować to

if([self.searchBar.text length] > 2) 
{ 
    [self.searchBar resignFirstResponder]; 
} 
+1

Och .... przepraszam, dostał mój błąd .. :( – Krunal

0

To jak to zrobić:

if([searchbar.text length] == 0) { 
     [searchBar performSelector: @selector(resignFirstResponder) 
          withObject: nil 
          afterDelay: 0.1]; 
    } 
0

Można spróbować,

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope{ 
     if (searchText.length>=2) { 
     [Main_SearchBar resignFirstResponder]; 

     // Do your code here 
     } 
} 
Powiązane problemy