Domanda

Sto cercando di implementare un modale sovrapposizione parziale nella mia app con il codice da “-modale Semi (trasparente) Dialogs su iPhone” a ramin.firoozye.com. Le opere di funzionalità di sovrapposizione e scivola il modal in vista, ma di chiamare qualsiasi IBAction dal controllore della modale provoca un “non riconosciuto Selector inviato al grado” crash.

ho ricreato la funzionalità di base con quel codice isolato, e si innesca lo stesso errore. Per vedere che cosa sto parlando, è possibile scaricare il progetto di test qui .

Sono sicuro che sto manca solo qualcosa di semplice qui. Qualsiasi aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

A presentazione del ModalViewController in TestViewController displayModal :, si rilascia il modalController (linea 20). Non fare questo - è necessario il ViewController per rimanere in vita. Se lo si rilascia, solo la vista mantiene in vita (come viene mantenuto quando aggiunto come una visualizzazione secondaria).

Inoltre, in ModalViewController hideModalEnded si rilascia modalView, che non ha mantenuto, quindi mi piacerebbe rimuovere quella pure.

Quindi, ora è necessario rilasciare solo l'istanza di ModalViewController dopo la visualizzazione ottenuto rimosso. È possibile effettuare questa operazione [rilascio auto]; in hideModalEnded, ma questo sembra essere un modello insolito e non mi sento bene farlo.

Alcuni suggerimenti:

  • mantenere lo spettacolo e nascondere metodi nel stessa classe.
  • Mantenere un Ivar in giro con il controller.
  • Un altro possiblity: Rimuovere il ModalViewController tutto e mettere tutto in TestViewController - Ma questo molto dipende da quanto l'azione non sarà succedendo nel cosa reale.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top