У меня есть ViewController
, что при нажатии на кнопку barButton
отображается всплывающее представление. Поперечное представление представляет собой контроллер табличного представления,Popover Controller не отображает меня правильно
Проблема заключается в том, что при отображении popover он просто показывает представление (а не представление таблицы).
Но когда popover уволен, вы можете увидеть, что он очень быстро переключается на настольный просмотр, прежде чем он исчезнет.
Update: Добавлен popController.sourceView = sender;
в конце здесь в @sticker:
- (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;
}
Также удостоверился PopTableViewController
был <UITableViewDelegate, UITableViewDataSource>
наверняка.
Я все еще получаю не TableView показывая, пока поповер не получает уволенный:
(ниже то, что происходит, как только поповер уволен и анимировать прочь)
вам нужно установить sourceView для popController и не забудьте установить источник данных и делегат для представления в таблице. – Nick
@sticker Спасибо за ответ! Поэтому в моем 'ViewController' в конце' нажатой кнопки: 'я добавил' popController.sourceView = sender; ', затем я пошел в' PopTableViewController' и убедился, что у него есть ''. Я получаю правильные строки представления таблицы, но пока не покажу их в представлении таблицы (пока я не отпущу popover, тогда он по-прежнему отображает табличное представление для быстрой секунды, поскольку он уволен). Я пропустил какую-либо часть вашего предложения, или вы знаете, что мне нужно? Благодаря! –
SRMR
@sticker вы знаете, что, если у вас нет каких-либо других идей, может быть, это просто ошибка в симуляторе по http://stackoverflow.com/a/34108147/4205674 – SRMR