I have a problem with a popover. If I tap on a cell I will load a popover to select more details. Everything works fine, but when I press my cell again I receive every time the following message:
Warning: Attempt to present ModalTableViewController... on MainTableViewController... which is already presenting (null)
If I tap on another cell I will not get this Warning. Only if a tap the same row again.
I tried lots of things but I am not able to solve this problem. I load my popover with like this:
var popover: UIPopoverController!
var popoverContent: ModalTableViewController!
and on my cell tap:
popoverContent = self.storyboard.instantiateViewControllerWithIdentifier("ModalTableViewController") as ModalTableViewController
popoverContent.selectedQuestionID = indexPath!.row
popover = UIPopoverController(contentViewController: popoverContent)
popover.delegate = self
popover.presentPopoverFromRect(currentCell.LabelCellTitle.frame, inView: currentCell.LabelCellTitle.superview, permittedArrowDirections: UIPopoverArrowDirection.Left, animated: true)
And to dismiss
func popoverControllerDidDismissPopover(popoverController: UIPopoverController!) {
popover.dismissPopoverAnimated(false) // just to check
self.popover = nil
self.popoverContent = nil
}
Any ideas?
Edit:
If I check with:
if(self.popoverContent == nil) {
before opening it, I'll find out that it's not nil when I tap the same cell again.
Edit again:
I have the same problem if I create it with a little different setup:
Custom 1x1px Button. Connect popover with segue. On cell tap move button to cell and open popover.
So there is no code for opening the popover, only with storyboard editor.
I get the same error message (sometimes) just if I tap the same popover again.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…