2016-06-06 8 views
1

Ich habe ein ViewController, dass, wenn die rechten barButton gedrückt wird, eine popover Ansicht zeigt. Die popover Ansicht ist eine Tabelle, View-Controller,Popover-Controller nicht angezeigt Ansicht richtig

Das Problem ist, dass, wenn die popover zeigt, zeigt es nur eine Ansicht (kein Tabellenansicht).

enter image description here Aber wenn das Popover abgewiesen wird, können Sie sehen, dass es sehr schnell zu einer Tabellenansicht umkehrt, bevor es verschwindet.

enter image description here Warum wäre das?

aktualisieren: popController.sourceView = sender; am Ende hier pro @sticker Hinzugefügt:

- (IBAction)pressedButton:(id)sender { 
    NSLog(@"Pressed Button"); 

    // grab the view controller we want to show 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"Pop"]; 

    // present the controller 
    // on iPad, this will be a Popover 
    // on iPhone, this will be an action sheet 
    controller.modalPresentationStyle = UIModalPresentationPopover; 
    [self presentViewController:controller animated:YES completion:nil]; 

    // configure the Popover presentation controller 
    UIPopoverPresentationController *popController = [controller popoverPresentationController]; 
    popController.permittedArrowDirections = UIPopoverArrowDirectionAny; 
    popController.barButtonItem = self.barbutton; 
    popController.delegate = self; 

    // Added per @sticker 
    popController.sourceView = sender; 
} 

auch sicher gemacht PopTableViewController hatte <UITableViewDelegate, UITableViewDataSource> sicher.

ich bin immer noch keine Tableview zeigt, bis die popover entlassen wird:

enter image description here

(unten ist, was so schnell passiert, als popover des Feldes verwiesen und Animieren entfernt)

enter image description here

+1

Sie müssen sourceView für popController setzen und vergessen Sie nicht setzen Sie Datenquelle und Delegate für Ihre Tabellenansicht. – Nick

+0

@sticker Danke für die Antwort! Also habe ich in meinem 'ViewController' am Ende des' pushedButton: '' popController.sourceView = sender; 'hinzugefügt, dann ging ich zum' PopTableViewController' und stellte sicher, dass es '' hatte. Ich bekomme die Tabellenansichtszeilen korrekt, aber sie werden in einer Tabellenansicht immer noch nicht angezeigt (bis ich das Popover ausgeblendet habe, zeigt es immer noch die Tabellenansicht für eine kurze Sekunde an, wenn es geschlossen wird). Habe ich irgendeinen Teil deines Vorschlags vermisst, oder weißt du, welches andere Stück ich brauche? Vielen Dank! – SRMR

+0

@sticker wissen Sie was, es sei denn, Sie andere Ideen haben, vielleicht ist es nur einen Fehler in Simulator pro http://stackoverflow.com/a/34108147/4205674 – SRMR

Antwort

1

ich versuche einfach, dieses und es gut funktionieren es Sie

Hoffnung helfen
+0

Danke für die Hilfe! – SRMR

Verwandte Themen