显示和弹出多个视图控制器

时间:2015-10-15 11:16:46

标签: ios swift uiviewcontroller

所以这就是我的问题。

首先ViewController有一些关于姓名,日期,否的字段。一个事件的人(用户创建和事件)。它还有一个按钮,可以将用户转换为具有viewController的新mapView,用户将创建一个Pin。用户创建Pin后,用户可以按下该针(或执行一些确认Pin用户放置在地图上的其他操作正确),并且用户将转换到新的tableViewController,其中有多个位置靠近Pin他选中(使用Foursquare API)。

然后,用户必须转换到第一个ViewController。必须将点按的位置用户发送到第一个ViewController

这是我第一次使用多个ViewControllers,我需要你的帮助。

我该怎么做(请不要错过任何细节:D)?

1 个答案:

答案 0 :(得分:0)

使用展开segue通过导航控制器中嵌入的视图控制器向后传递数据。

这是一个简短的例子。

在第一个视图控制器中,您可以使用以下内容:

var text: String?

@IBAction func unwindSegue(segue: UIStoryboardSegue) {
    if let viewController = segue.sourceViewController as? ViewController2 {
        text = viewController.textField.text
    }
    print(text!)
}

在故事板上的第二个视图控制器中添加展开segue,方法是从视图控制器(带方形的黄色圆圈)到退出图标(位于视图控制器顶部或文档大纲中)拖动然后单击您创建的展开segue以创建手动segue。然后在文档大纲中设置展开segue的标识符,以便您可以参考它(我简单地称之为"放松& #34;对于这个例子)。

在第二个视图控制器(您要从中传回的控制器)中添加:

@IBOutlet var textField: UITextField!

@IBAction func backButton(sender: AnyObject) {
    self.performSegueWithIdentifier("Unwind", sender: nil)
}

这个简单的示例将允许您从第二个视图控制器中的textField传回文本。

n.b。您可以一次展开多个视图。