Question

J'ai donc popover avec un bouton en elle. Lorsque ce bouton est enfoncé, je veux que le popover en aller. Il semble assez facile, mais je ne peux pas le comprendre pour la vie de moi. Le code que j'utilise pour montrer le popover est ci-dessous:

    AddCategoryViewController* content = [[AddCategoryViewController alloc] init];
 UIPopoverController* aPopover = [[UIPopoverController alloc]
          initWithContentViewController:content];
 aPopover.delegate = self;
 [content release];

 // Store the popover in a custom property for later use.
 self.addCategoryPopover = aPopover;
 [aPopover release];
 [addCategoryPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

Dans le addcategoryviewcontroller, je:

    -(IBAction)saveAddCategory:(id)sender {
 if (rootViewController == nil)
  rootViewController = [[RootViewController alloc] init];

 [rootViewController.addCategoryPopover dismissPopoverAnimated:YES];
 [rootViewController dismissPopover];
}

RootViewController est où le popover est créé à partir. Malheureusement, aucune de ces méthodes fonctionnent de le rejeter. toute aide?

Était-ce utile?

La solution

Vous verrait un avertissement à cette ligne.

 aPopover.delegate = self;

et si vous exécutez votre code. L'application plantait. Au lieu de cela, vous devez faire comme cette .

Autres conseils

J'ai

- (void)viewWillDisappear:(BOOL)anAnimated
{
    [self.dPopover dismissPopoverAnimated: NO];
    self.dPopover = nil;
    [super viewWillDisappear: anAnimated];
}

et ne vois pas pourquoi ce ne serait pas le travail dans votre cas.

Votre if est un peu troublant, donc je suppose que vous ne parlez pas à la vue que vous pensez que vous êtes. rootViewController.addCategoryPopover est probablement nulle, parce que vous avez fait un nouveau contrôleur.

Je pense que je répondais juste une question similaire avec la solution que je l'habitude de rejeter une popover avec un UIView chargé d'un MKMapView. L'utilisation de ma solution est fondamentalement la même que pour tout autre point de vue du chargement d'un popover.

Jetez un oeil à: Comment dismissPopoverAnimated sur iPad avec UIPopoverController dans MKMapView (SDK3.2) . J'espère que résoudre votre problème.

Utilisation NSNotificationCenter Pour DissmissPoper Controller De Père viewController

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