这就是我的问题。
第一个ViewController
有一些关于名称、日期、编号的字段。事件(用户创建的事件)的人员数量。它还具有一个按钮,可将用户转换到带有 mapView
的新 viewController
,用户将在其中创建 Pin 图。用户创建 Pin 图后,用户可以按下该 Pin 图(或执行其他一些操作来确认用户在 map 上放置的 Pin 图是正确的),然后用户将转换到一个新的 tableViewController
,附近有多个位置他选择的 Pin 图(使用 Foursquare API)。
然后用户必须转换到第一个ViewController
。用户点击的位置必须发送到第一个 ViewController
。
这是我第一次使用多个 ViewController
,我需要你的帮助。
我该怎么做(请不要错过任何细节:D)?
最佳答案
使用展开转场通过导航 Controller 中嵌入的 View Controller 向后传递数据。
这是一个简短的示例。
在你的第一个 View Controller 中,你可以有类似的东西:
var text: String?
@IBAction func unwindSegue(segue: UIStoryboardSegue) {
if let viewController = segue.sourceViewController as? ViewController2 {
text = viewController.textField.text
}
print(text!)
}
通过按住 Ctrl 键从 View Controller (带正方形的黄色圆圈)拖动到退出图标(位于 View Controller 的顶部或文档大纲中),将展开转场添加到 Storyboard 上的第二个 View Controller 中并单击您创建的展开转场以创建手动转场。然后在文档大纲中设置展开转场的标识符,以便您可以引用它(在本示例中我将其简称为“展开”)。
在第二个 View Controller (您想要从中传回的 View Controller )中添加以下内容:
@IBOutlet var textField: UITextField!
@IBAction func backButton(sender: AnyObject) {
self.performSegueWithIdentifier("Unwind", sender: nil)
}
这个简单的示例将让您从第二个 View Controller 中的 textField
传回文本。
n.b.您一次可以展开多个 View 。
关于ios - 显示和弹出多个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33147100/