Question

D'accord, donc je fait une popover de mon point de vue principal et toutes ces bonnes choses. Mais je veux avoir mon popover appeler une action à mon avis principale quand un bouton dans le popover est pressé.

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

La fonction « doStuff » modifie certains éléments dans la vue. Par exemple, la couleur de la barre d'outils est censé être changé. J'ai mis une commande d'impression et la commande exécutée d'impression. Mais pour une raison quelconque, la barre d'outils ne changera pas la couleur.

  • J'ai importé l'en-tête de MainView dans le popover.
  • Je l'ai fait un thingy @class pour MainView dans mon popover.
  • doStuff est déclaré dans l'en-tête de MainView.
  • Les IBOutlets sont déclarés aussi, et connecté.

Toutes les idées?

Était-ce utile?

La solution

Eh bien sa déception que nous avons aucune méthode directe qui peut être utilisé pour vérifier dans quelle vue (contrôleur de vue) le popover est affiché. Ce que je fais dans l'application tabbased est:

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];
    }

Hope this helps,

Je sais que ce n'est pas la meilleure façon, Apple dans l'espoir pense à ce sujet, ou si quelqu'un a mis au point un travail autour.

Merci,

Madhup

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top