Popover popoverControllerDidDismissPopover未调用

时间:2014-08-08 08:51:31

标签: ios objective-c swift popover

在我的应用程序中有两个关于使用popover的问题。首先是关于popoverControllerDidDismissPopover函数,它永远不会在我的应用程序中调用。我在这里检查了相同的主题,发现通常问题是代理没有设置。但在我的情况下,我有:

class MainTableViewController: ...,UIPopoverControllerDelegate {

并致电模态:

var popover: UIPopoverController!

点击我的手机点击事件

popover = UIPopoverController(contentViewController: popoverContent)
popover.delegate = self
popover.presentPopoverFromRect(currentCell.LabelCellTitle.frame, inView: currentCell.LabelCellTitle.superview, permittedArrowDirections: UIPopoverArrowDirection.Left, animated: true)

出现popover,但如果我在其外面点击方法:

popoverControllerDidDismissPopover

不会被调用。有任何想法吗?

第二个问题是当我再次点击我的手机以加载弹出窗口时出现错误。

Warning: Attempt to present <...24ModalTableViewController: 0x7fda8a55e440>  on <...23MainTableViewController: 0x7fda8a62eb80> which is already presenting (null)

好吧,我猜这意味着ModalTableViewController仍然存在。我是否需要使用popoverControllerDidDismissPopover函数将其设置为nil?或者我该如何解决这个警告?

提前致谢。

编辑:

清理完我的问题后,1现在已经解决了(有点神秘) - 可能是XCode Beta中的一个错误。问题2仍然存在

EDIT2:

如果我现在在解雇后将内容和Popover设置为nil,则会出现以下错误:

func popoverControllerDidDismissPopover(popoverController: UIPopoverController!) {

    self.popover = nil
    self.popoverContent = nil

}

Application tried to represent an active popover presentation

为什么popover仍然有效?

0 个答案:

没有答案