Ios8 UIPopoverPresentationController中的视图委托未重新发送

Ios8 UIPopoverPresentationController中的视图委托未重新发送,ios8,uipopovercontroller,uipopover,ios8.1,Ios8,Uipopovercontroller,Uipopover,Ios8.1,我这里有点麻烦。我有一个为ios7.1编写的应用程序,我们现在正试图使同一个应用程序支持iOS8.1 在这个应用程序中,我们有几个弹出窗口。我已经做过修复,让它们在iOS8中正确地显示为popover,但是当我点击popover时,它并没有像预期的那样响应 下面是它的呈现方式(全部连接在故事板中): 在仪表板视图控制器中: if ([segue.identifier isEqualToString:@"showRHSMenu"]) { _rightNavController = segue.d

我这里有点麻烦。我有一个为ios7.1编写的应用程序,我们现在正试图使同一个应用程序支持iOS8.1

在这个应用程序中,我们有几个弹出窗口。我已经做过修复,让它们在iOS8中正确地显示为popover,但是当我点击popover时,它并没有像预期的那样响应

下面是它的呈现方式(全部连接在故事板中):

在仪表板视图控制器中:

if ([segue.identifier isEqualToString:@"showRHSMenu"]) {
_rightNavController =  segue.destinationViewController;
_rightNavController.preferredContentSize = CGSizeMake(220, (_rightNavController.tableView.rowHeight * _rightNavController.dataArray.count));
_rightNavController.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *popoverPresentationController = _rightNavController.popoverPresentationController;
popoverPresentationController.delegate = self;

}
在_rightNavController中,声明了一个与DashboardViewController通信的协议。这在ios7.1中使用UIPopoverController工作并执行,但在iOS8.1中使用UIPopoverPresentationController时,它不会触发

我已确认用户单击了rightNavController中的register,但未执行协议/委托


有人能帮忙吗

一个老问题,但希望这能帮助其他人

今天我遇到了同样的问题,解决方案是将popover控制器声明为实例变量,而不是局部变量。作为一个局部变量,它在方法返回后的任何时候都会被垃圾收集,而不管popover视图是否仍在屏幕上。(在iOS8中,垃圾收集似乎更具攻击性/效率,因此很可能只是暴露了您已经存在的错误。)保留视图控制器的句柄,直到视图被取消,所有委托方法都应该可以正常工作