【发布时间】:2015-02-03 00:08:53
【问题描述】:
在我当前的项目中,我的详细视图显示了我的表格视图中的特定记录。我有以下标签
@IBOutlet weak var vacationImageView: UIImageView!
@IBOutlet weak var percentSaved: UILabel!
@IBOutlet weak var cost: UILabel!
@IBOutlet weak var saved: UILabel!
@IBOutlet weak var circleProgressView: CircularProgressView!
@IBOutlet weak var daysDepart: UILabel!
我调用了一个弹出框,我想将 已保存 的当前文本值发送到我的弹出框,允许用户对其进行编辑并将其发送回视图。这是我的弹出框调用。
@IBAction func addPopover(sender: UIView) {
let savingsInformationViewController = storyboard?.instantiateViewControllerWithIdentifier("SavingsAddPopover") as UIViewController
savingsInformationViewController.modalPresentationStyle = .Popover
savingsInformationViewController.preferredContentSize = CGSizeMake(200, 200)
let popoverController = savingsInformationViewController.popoverPresentationController
popoverController?.sourceView = sender
popoverController?.permittedArrowDirections = .Any
popoverController?.delegate = self
presentViewController(savingsInformationViewController, animated: true, completion: nil)
}
我原以为我可以从弹出框引用数据对象,但不能……至少不是我想的那样。
【问题讨论】:
-
看起来您正试图让 SavingInformationViewController 成为内容控制器。为什么不向该类添加一个属性来保存您的数据并在您以上面显示的方法实例化控制器后简单地分配它?许多弹出窗口示例显示了这种行为。
-
“无法引用”是什么意思?你是怎么尝试的?
-
我试图引用我在调用popover的视图中使用的变量对象vacation.totalSaved
-
@TommieC。抱歉,我只是在学习 swift ..你能给我指出一个很好的 popover 例子吗
-
当然 - 这是一个示例,展示了几种方法,包括仅使用带有准备转场的故事板和可用于以正常方式传递数据的故事板。 stackoverflow.com/questions/24635744/…。设置上述内容视图控制器类的属性可能更容易;即 var data:AnyObject?然后在上面定义的方法中使用 SavingInformationViewController.data = importantInfo 设置属性。在该视图控制器内的委托方法中,只需将数据发送到标签等。