Domanda

Ho fatto una visualizzazione personalizzata a cui aggiungo un pulsante personalizzato. Questa visualizzazione personalizzata va come una visualizzazione secondaria ad ancora un'altra vista (calendario Kal per iPhone) che mi spingo in un controller di navigazione. Ora il pulsante a mio avviso personalizzato è collegato ad un IBAction in cui non sono in grado di invocare il self.navigationController al pop la vista corrente.

Ho provato il [[superview mittente] navigationController] per una gerarchia di chiamate Superview, ma non funziona in questo modo sia.

Tutte le idee per favore?

Grazie

È stato utile?

Soluzione

Una vista tipicamente ha alcuna conoscenza del suo controllore vista (e, di conseguenza, la sua o controller di navigazione del controller di vista del suo superview) perché ciò introdurrebbe un forte accoppiamento tra vista e vista regolatore che di solito è indesiderato e inutile.

Il modo più semplice per risolvere il problema sarebbe quello di avere il controller della vista invece della visualizzazione di gestire l'azione del pulsante. Se questo non funziona per il vostro disegno, considerare la progettazione di un protocollo di delegato per la visualizzazione personalizzata e rendere il vostro View Controller delegato della visualizzazione personalizzata. La vista sarebbe quindi chiamare il metodo delegato nel metodo di azione del pulsante. Quest'ultimo metodo è usato molto durante cacao, ad esempio da UIScrollView (UIScrollViewDelegate) e UITableView (UITableViewDelegate).

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