Domanda

Ho un'interfaccia iPad definita in uno storyboard, con uno SplitViewController. Voglio impostare il delegato della SplitViewController per puntare al controller di dettaglio, ma IB non consentirà che la connessione sia effettuata.

    .
  • Mettere un oggetto "oggetto" e la modifica della classe a quello del mio controller di dettaglio rende il punto delegato a un'istanza diversa del controller di dettaglio rispetto a quello visualizzato.
  • I miei tentativi di collegarlo manualmente (in DidfinishLacking) nel delegato dell'app erano infruttuosi, il delegato era ancora nil.
  • Modifica del delegato sull'AppDelegate e implementazione del protocollo ha funzionato, ma il passaggio dei messaggi nel controller dettagliato non ha funzionato (anche se ho verificato che stavo facendo riferimento alla stessa istanza).

    Niente funziona. Posso impostare self.splitViewController.delegate = self quando il carichi di visualizzazione dei dettagli, quindi diventa il delegato senza problemi. Ma mi mancano tutte le chiamate delegate che accadono prima di quel punto.

    Per il contesto, ho bisogno di ottenere le chiamate delegate di Splivviewcontroller in modo che possa mostrare un pulsante nel dettaglioView per mostrare un avover, così come la pratica standard. In questo momento, se l'app viene lanciata in ritratto, deve essere ruotato in orizzontale e poi di nuovo per il pulsante per mostrare.

    L'ho fatto con "normale" XIBS senza problemi. Sembra essere un caso speciale del problema più generale di non essere autorizzato a connettere punti vendita tra scene in uno storyboard.

È stato utile?

Soluzione

Non ho idea del perché questo funzionasse questa volta e non i primi 80 volte, ma ho aggiunto questo al mio AppDelegate:

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
.

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