所以,我一直在浏览互联网,我无法解决这个问题,因为我看到的所有答案都与一个视频层比我的视图层更少有关,如果这是有意义的话。
无论如何,我有一个主视图,它打开一个popover,其中包含一个UINavigationController,它包含一个UITableViewController。这一切都在故事板中设置,从按钮点击连接到弹出导航视图控制器的segue。
当我在UITableViewController上选择某些内容时,我想忽略popover,但是我看到的所有解决方案只有在我没有UINavigationController时才有效。
有什么想法吗?我听见了。
答案 0 :(得分:1)
你应该只有你的UIViewController的属性指向你的UIPopoverController。当你创建你的UIViewController时,只需将它链接起来。
答案 1 :(得分:0)
使用dismissPopoverAnimated:在调用tableView:didSelectRowAtIndexPath:时将其解除。
答案 2 :(得分:0)
好的,我想我找到了答案。
如果有人发现任何问题,如果你让我知道,我会很感激,但到目前为止这对我有用:
在我的主视图控制器(打开弹出窗口的控制器)中:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UIStoryboardPopoverSegue *popoverSegue = (UIStoryboardPopoverSegue*) segue;
currentPopover = [popoverSegue popoverController];
currentPopover.delegate = self;
UINavigationController *destinationNavController = (UINavigationController*)segue.destinationViewController;
SelectServerToConnectViewController *destinationView = [destinationNavController.childViewControllers objectAtIndex:0];
destinationView.parentPopover = currentPopover;
}
在我的SelectServerToConnectViewController中:
-(void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
ServerItem *selectedServer = [CoreDataController getServerForIndex:indexPath.row];
[parentPopover dismissPopoverAnimated:true];
}