2012-01-11 10 views
5

Ho un UISearchBar (con UISearchDisplayController) come vista titolo di UINavigationBar. Ci sono anche due pulsanti su entrambi i lati della barra di ricerca all'interno della barra di navigazione.UISearchBar: come posso interrompere il ridimensionamento quando si fa clic su?

Quando si fa clic su UISearchBar, diventa più ampio e copre il pulsante a destra di esso.

Come posso evitare che si allarghi?

cose hanno provato ma non ha funzionato ->

  • La barra di ricerca allargata diventa allora la dimensione originale se il dispositivo viene ruotato. Così, provato a chiamare [searchBar setNeedsLayout] in - searchBarTextDidBeginEditing
  • Tutte le diverse opzioni in auto-resizing maskIB

Edit: non ha menzionato, ma questo è su iPhone (come possiamo mettere searchbar all'interno della barra degli strumenti in iPad ..)

+0

Eventuali duplicati e risposta: http://stackoverflow.com/questions/3006209/uisearchbar-animation-hidding-button –

+0

@CollinPrice Purtroppo, la risposta nel link che hai menzionato non lavoro. :(Aggiunta [self.searchBar setFrame: CGRectMake (0.0, 0.0, 150.0, 44.0)], ad esempio in searchBarTextDidBeginEditing: (UISearchBar *) il metodo searchBar non ha fatto nulla ... –

+0

sembra attivarsi con searchDisplayControllerDidBeginSearch: ma allarga ancora un po ' - deve essere il ridimensionamento automatico della vista del titolo –

risposta

8

In realtà, prendendo il suggerimento da this answer se la barra di ricerca viene inserita in UIView della dimensione desiderata, questa viene impostata come vista titolo di NavBar, non si allarga!

Ma ... Dal momento che non è possibile eseguire il pulsante Annulla per mostrare/non mostrare come si desidera, ho capito che non è così utile.
(come si vede in this question/answer ecc)

+0

Sì, penso che dobbiamo solo contenere UISearchBar all'interno di un UIView con la larghezza desiderata .. @st – KarenAnne

+0

Questo è così intelligente - grazie a milioni. – Brittany

Problemi correlati