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).
Aber wenn das Popover abgewiesen wird, können Sie sehen, dass es sehr schnell zu einer Tabellenansicht umkehrt, bevor es verschwindet.
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:
(unten ist, was so schnell passiert, als popover des Feldes verwiesen und Animieren entfernt)
Sie müssen sourceView für popController setzen und vergessen Sie nicht setzen Sie Datenquelle und Delegate für Ihre Tabellenansicht. – Nick
@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
@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