在我的iPad-app中,我通过在Storyboard中拖动并将popover选为segue,将UIButton连接到另一个UIViewcontroller。一切都运行正常,但用户可以通过触摸弹出右边的某个地方来解除弹出窗口。
如何在iOS8中检测到popover已被解散?在iOS7中,我可以使用UIPopoverDelegate -popoverDidDidmiss ...
但这不再适用了!?我google了很多但找不到任何解决方案。
答案 0 :(得分:1)
你把你的
-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
在启动UIButton的UIViewController中的是什么? (不是在另一个popover UIViewcontroller?) 对于iOS 8.1来说,这对我很有用......
你必须委托给初始的UIViewController。
答案 1 :(得分:0)
我假设您正确设置了委托,但是您是否保留了popover,即将其分配给强大的属性?在ios7中,如果你没有保留popover,你会得到异常:'[UIPopoverController dealloc]到达,而popover仍然可见。在ios8中不再是这种情况,所以你得到了工作弹出窗口,你可以忽略它,但不再调用委托方法。
(坦率地说,我不知道为什么会这样。我认为至少“应该解雇popover”应该被调用)。
答案 2 :(得分:0)
答案 3 :(得分:0)
在iOS8中,它使用UIViewController的UIPopoverPresentationController来呈现弹出窗口。 (您可以选择使用旧版UIPopoverController来手动构建弹出窗口。
如果您在iOS8上使用storyboard,可以设置UIViewController的popoverPresentationController委托来处理以下内容: