【发布时间】:2016-09-23 18:36:51
【问题描述】:
我正在以编程方式关闭弹出视图控制器。我如何在我的第一个视图控制器中检测到它?有没有办法将值从弹出窗口发送到第一个? 注意:popoverPresentationControllerDidDismissPopover 在以编程方式关闭时不起作用。 有什么提议吗?
这是我在主视图控制器中的代码:
let addFriendsPopoverViewController = storyboard?.instantiateViewControllerWithIdentifier("HomeEmotionPopOver") as! EmotionPopOverViewController
addFriendsPopoverViewController.modalInPopover = true
addFriendsPopoverViewController.modalPresentationStyle = UIModalPresentationStyle.Popover
addFriendsPopoverViewController.preferredContentSize = CGSizeMake(100, 100)
let popoverMenuViewController = addFriendsPopoverViewController.popoverPresentationController
popoverMenuViewController!.permittedArrowDirections = .Any
popoverMenuViewController!.delegate = self
popoverMenuViewController!.sourceView = self.view
let height = (self.tableView.rowHeight - HeartAttributes.heartSize / 2.0 - 10) + (self.tableView.rowHeight * CGFloat((sender.view?.tag)!)) - 50
popoverMenuViewController!.sourceRect = CGRect(
x: 30,
y: height,
width: 1,
height: 1)
presentViewController(
addFriendsPopoverViewController,
animated: true,
completion: nil)
在弹出视图控制器中,我从按钮 IBAction 中将其关闭:
@IBAction func dismissPop(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
【问题讨论】:
-
请发布您的代码,以便重现您的麻烦。
-
我刚刚编辑了我的帖子,感谢您的帮助
-
那么从弹出框内的按钮关闭弹出框是否有效?
-
是的。但我无法从主视图控制器中检测到它。
-
我想发布一个答案,但当我看到 ColdLogic 更快时,我放弃了。这正是您所需要的。
标签: ios swift uipopovercontroller uipopover