Domanda

Questa potrebbe essere una domanda stupida, ma è possibile mantenere un UIBarButtonItem corretto su più viste gestite da un UINavigationController ? Ho una progressione di viste che spesso condividono lo stesso UIBarButtonItem , ma quando spingo una nuova vista sul mio UINavigationController , devo ridefinire il pulsante ogni volta, anche se non è cambiato. Per lo più, la notevole animazione di transizione da una vista all'altra è ciò che mi preoccupa perché lo stesso pulsante esatto svanisce brevemente e poi rientra, il che non è necessario poiché non vi è alcun reale cambiamento visivo. Devo prendere in considerazione l'aggiunta di un UIButton come sottoview del mio UINavigationBar e realizzare un pulsante "barra destra" " effetto in questo modo?

È stato utile?

Soluzione

Lo abbiamo fatto nella nostra app. Abbiamo creato un singolo UIBarButtonItem che scambiamo da un UIViewController a un altro mentre l'utente naviga. Il trucco era usare UINavigationControllerDelegate, il navigationController: willShowViewController: animato: metodo. Impostiamo il rightBarButtonItem di UIViewController in uscita su zero e il RightBarButtonItem del controller in arrivo sul tuo pulsante. È una seccatura da gestire, ma funziona.

Altri suggerimenti

UIBarButtonItems può essere creato come istanze autonome in un file pennino / xib. Se non c'è nulla di speciale in corso che ti impedisce di essere in grado di creare il pulsante nel builder Interface, dovresti collegarlo alla proprietà rightBarButtonItem di UINavigationItem per ogni controller di visualizzazione che deve riutilizzare il pulsante. Non è necessario alcun obiettivo c.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top