2012-02-06 12 views
15

Mam - mam nadzieję - bardzo proste pytanie: jak wyłączyć UISearchBar w IOS5, aby uniknąć interakcji użytkownika? Nie mogę znaleźć setEnabled lub coś takiego ...Wyłącz UISearchBar

Dzięki!

Odpowiedz

40

Czy próbowałeś:

[searchBar setUserInteractionEnabled:NO]; 

?

+1

Świetna odpowiedź, oto Swift: 'searchBar.userInteractionEnabled = false' – kbpontius

13

Oprócz ustawiania interakcji użytkownika, dostosowałem również wartość alfa, aby wygląd był niepowtarzalny.

searchbar.alpha = .75; 
5

Spróbuj

// Normal 
self.searchDisplayController.searchBar.userInteractionEnabled = YES; 
self.searchDisplayController.searchBar.translucent = YES; 
self.searchDisplayController.searchBar.searchBarStyle = UISearchBarStyleDefault; 
self.searchDisplayController.searchBar.backgroundColor = [UIColor clearColor]; 

// Faded out 
self.searchDisplayController.searchBar.userInteractionEnabled = NO; 
self.searchDisplayController.searchBar.translucent = NO; 
self.searchDisplayController.searchBar.searchBarStyle = UISearchBarStyleMinimal; 
self.searchDisplayController.searchBar.backgroundColor = [UIColor lightGrayColor]; 
+1

Uważam, że' lightGrayColor' wydaje się nieco ekstremalny; coś bardziej dookoła '[UIColor colorWithWhite: 0.85 alpha: 1]' wygląda mi prosto –

0

Dla Swift 3:

self.searchController.searchBar.isUserInteractionEnabled = true 

Albo jeśli chcesz nadal wykrywa interakcji użytkownika można to zrobić, aby wyłączyć UITextField wewnątrz UISearchBar:

(self.searchController.searchBar.value(forKey: "searchField") as! UITextField).isEnabled = false