Domanda

Va bene, così ho fatto un popover dal mio punto di vista principale e tutta quella roba buona. Ma io voglio avere la mia popover chiamare un'azione a mio avviso principale quando viene premuto un pulsante all'interno del popover.

MainView *mainView = [[MainView alloc] initWithNibName:@"MainView" bundle:nil]; [mainView doStuff];

La funzione "DoStuff" cambia alcuni elementi all'interno della vista. Ad esempio, si suppone che il colore della barra degli strumenti da modificare. Ho messo un comando di stampa e l'esecuzione del comando di stampa. Ma per qualche motivo, la barra degli strumenti non cambierà colore.

  • ho importato l'intestazione del MainView nella popover.
  • Ho fatto un thingy @class per MainView nel mio popover.
  • doStuff è dichiarata nel colpo di testa di MainView.
  • I IBOutlets sono dichiarati troppo, ed è collegato.

Tutte le idee?

È stato utile?

Soluzione

Bene il suo deludente che non abbiamo alcun metodo diretto che può essere utilizzato per sapere in quali visualizzazione (controller della vista) e 'stato popover. La cosa che sto facendo in applicazione tabbased è:

New_iPadAppDelegate *appDel = (New_iPadAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSArray *viewConts = [(UINavigationController *)[[appDel tabBarController] selectedViewController] viewControllers];
    MainViewController *viewController =  (MainViewController *)[viewConts lastObject];
    if([[viewController popoverController] isPopoverVisible]){
        [viewController doStuff];
    }

Spero che questo aiuti,

So che questo non è il modo migliore, sperando Apple pensa su questo problema, o se qualcuno ha messo a punto un lavoro in giro.

Grazie,

Madhup

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