Ios Popover控制器不';无法正确显示视图
我有一个Ios Popover控制器不';无法正确显示视图,ios,objective-c,uitableview,uipopovercontroller,Ios,Objective C,Uitableview,Uipopovercontroller,我有一个ViewController,当按下右barButton时,会显示一个弹出视图。popover视图是一个表视图控制器 问题是,当弹出窗口显示时,它只显示一个视图(而不是表视图) 但是,当弹出框被取消时,您可以看到它在消失之前很快翻转到一个tableview 为什么会这样 更新:添加了popController.sourceView=sender根据@标签在此处末尾: - (IBAction)pressedButton:(id)sender { NSLog(@"Pressed
ViewController
,当按下右barButton
时,会显示一个弹出视图。popover视图是一个表视图控制器
问题是,当弹出窗口显示时,它只显示一个视图(而不是表视图)
但是,当弹出框被取消时,您可以看到它在消失之前很快翻转到一个tableview
为什么会这样
更新:添加了popController.sourceView=sender代码>根据@标签在此处末尾:
- (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
确实有
在popover被解散之前,我仍然无法看到桌面视图:
(以下是popover被解除并动画化后的情况)
我刚试过这个,效果很好
希望对你有帮助
self.tbVC.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *popOverVC = [self.tbVC popoverPresentationController];
popOverVC.barButtonItem = sender;
popOverVC.permittedArrowDirections = UIPopoverArrowDirectionAny;
[self presentViewController:_tbVC animated:YES completion:nil];
您需要为popController设置sourceView,不要忘记为表视图设置datasource和delegate。@谢谢您的回复!因此,在我的ViewController
中,在的末尾按下按钮:
我添加了popController.sourceView=sender
,然后我转到PopTableViewController
,确保它有
。我得到的表视图行是正确的,但它仍然没有在表视图中显示它(直到我关闭popover,然后它仍然在关闭表视图时快速显示表视图)。我是否遗漏了你建议的任何部分,或者你知道我还需要什么吗?谢谢@贴纸你知道吗,除非你有任何其他想法,可能只是模拟器中的一个bug,否则,如果你想添加你的注释作为答案,那么我可以标记为solvedOh,我没有看到像1,2,3这样的行数据,所以我想你的问题是设置错误的tableView。很高兴看到它工作正常。谢谢你的帮助!