Domanda

Molte delle ricerche di tabella che vedo in realtà DIM (cambiamento alfa?) Del tableView effettiva in cui la barra di ricerca viene messo a fuoco. Sto cercando di implementare questa.

Quando ho sovraccaricare

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar

che sto cercando di fare qualcosa di simile

self.tableView.alpha = .5f

Ma sta cambiando l'alfa del searchbar effettiva (se ho Searchbar da solo) o cambiando l'alfa dell'intera tabella (compresi Searchbar) se devo Searchbar sotto tableView in IB.

Che cosa sto facendo di sbagliato qui. Come posso solo Dim la tavola e non tutto.

Credo che quello che sto veramente non riuscendo a capire è come tutta questa roba viene stratificato sullo schermo.

EDIT: l'applicazione Contatti è un buon esempio di quello che sto cercando di fare.

È stato utile?

Soluzione

La maggior parte tali applicazioni solo gettare un UIView nero-fondo sulla parte superiore del tavolo e dissolvenza in (per un alfa di 0,5 o altro) quando i guadagni barra di ricerca si concentrano.

Altri suggerimenti

Se si utilizza UISearchDisplayController, si ottiene questo comportamento gratuitamente.

Dal momento che iOS 8 (e fino ad almeno iOS 9.2) si usa un UISearchController. Purtroppo, attualmente il costruttore di interfaccia supporta solo il UISearchDisplayController ormai deprecato. Quindi, questo è come aggiungere a livello di codice per il controller vista tabella, incluso l'effetto dim:

let searchController = UISearchController(searchResultsController: nil)

override func viewDidLoad() {
    super.viewDidLoad()

    // Use the current view controller to update the search results:
    self.searchController.searchResultsUpdater = self
    self.searchController.dimsBackgroundDuringPresentation = true
    self.tableView.tableHeaderView = searchController.searchBar
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top