2013-03-13 12 views
11

Witam Używam UIsearchBar w mojej aplikacji, próbowałem wszystkich metod w Delegate UISearchBar, aby odrzucić klawiatury, ale bezużyteczne. Czy ktoś mógłby mi pomóc?Jak odrzucić klawiaturę za pomocą metod Delegowania UIsearchBar? Próbowałem każdej metody, ale bez użycia.

niektóre kody Próbowałem

1.

-(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 
} 

2.

-(BOOL) searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 

    if([text isEqualToString:@"\n"]) 
    { 
     [searchBar resignFirstResponder]; 
     return NO; 
    } 
    return YES; 

} 

3.

- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar 
{ 
    [searchBar resignFirstResponder]; 
} 
+1

Czy u ustawić delegata do siebie? – Rushi

+1

Czy używasz punktu przerwania i sprawdzasz metody delegatów? – Ankit

+0

jest to, że metoda delegata wywołująca o r nie dodałeś czy nie – 08442

Odpowiedz

6

Spróbuj jak to It'l pracy

dać delegata wyszukiwania poprzeczkę i sprawdzić pogoda IBOutlet połączone lub nie

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [search resignFirstResponder]; 
}   
+1

Próbowałem powyższy kod również, ale zadanie wykonane – Logunath

+1

Dziękuję, rozwiązałem mój problem przy użyciu UIsearchDisplayDelegate zamiast UISearchDelegate. Potrzebujesz ciągłej pomocy. – Logunath

25

Przede wszystkim należy wdrożyć UISearchBarDelegate w czeku klasa & jeśli masz podłączony do Twojego UISearchBar czy nie?

Jeśli dodajesz UISearchBar do IB, powinieneś wybrać właściwość delegata UISearchBar do właściciela pliku. Powinieneś upewnić się, że prawidłowo podłączasz IBOutlet dla UISearchBar w kodzie.

Jeśli dodajesz UISearchBar poprzez kod następnie należy ustawić delegata się w kodzie jak ten searchBar.delegate=self;

Następnym krokiem jest, aby upewnić się, że metody delegata są wezwani, co jest oczywiste, jeśli zostały prawidłowo podłączone delegata , najlepszą rzeczą do sprawdzenia jest umieszczanie wskaźnika przerwania w kodzie lub drukowanie poprzez NSLog.

Wreszcie użyć tej metody, aby ukryć klawiaturę jeśli chcesz ukryć, gdy użytkownik kliknie, aby szukać

- (void) searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    [searchBar resignFirstResponder]; 
} 

lub można spróbować podczas edycji wykończone

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { 
    [searchBar resignFirstResponder]; 
} 
+2

- (void) searchBarTextDidEndEditing: (UISearchBar *) searchBar { [searchBar1 resignFirstRondonder]; } – Logunath

Powiązane problemy