Wie schließen Sie einen view-controller in einem popover nach dem berühren einer Schaltfläche, akzeptiert die Wahl

In meinem aktuellen Projekt, gezielt für iOS 5.0 und aufwärts, was ich zeigen möchte, eine Ansicht, mit einigen Schaltflächen, mit denen der Benutzer wählen Sie ein layout für das, was derzeit auf dem Bildschirm gezeichnet.

Auf dem iPhone & iPod Touch ich lasse die Wahl-view-controller nehmen über den gesamten Bildschirm durch den Aufruf:

[self presentViewController:choiceController animated:YES completion:nil];

Auf dem iPad zeige ich der gleichen Ansicht-controller-Ansichten in ein popover mit dem Aufruf dieser:

    [self setChooseLayoutPopover:[[UIPopoverController alloc] initWithContentViewController:choiceController]];
    [[self chooseLayoutPopover] setDelegate:self];
    [[self chooseLayoutPopover] setPopoverContentSize:CGSizeMake(320.0, 460.0)];        
    [[self chooseLayoutPopover] presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

In beiden Fällen gebe ich zwei entlassen Bausteine zum Wahl-view-controller, eine für, wenn ein layout tatsächlich gewählt, und eine für, wenn der Benutzer den Vorgang abbricht. Auf dem iPad berühren, die außerhalb der Grenzen des popover tatsächlich Abbrechen, wird auf dem iPhone & iPod Touch zeige ich einen Abbrechen-button, der auch funktioniert.

Auf dem iPhone & iPod Touch meiner entlassen block für eine Wahl funktioniert durch Aufruf von:

[[self presentingViewController] dismissViewControllerAnimated:YES completion:[self dismissBlockDone]];

aber auf dem iPad presentingViewController ist immer gleich null, und selbst wenn ich einen Zeiger übergeben, um meine Darstellung view controller mich mit dem oben genannten Aufruf tut sich nichts auf dem iPad.

Ich Tat umzusetzen -(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController und legen Sie die Darstellung view controller als Delegierter für den popover, und diese Methode wird aufgerufen, wenn der Benutzer berührt außerhalb des popover, aber ich kann nicht finden, was zu nennen, nachdem der Benutzer tatsächlich berührt die Wahl-Taste. Ich kann der gewählte Wert, aber ich weiß nicht, wie man aus dem popover danach.

Irgendwelche Vorschläge?

Schreibe einen Kommentar