我有两个ViewControllers:一个只是正常的,另一个是我像弹出式contecontroller一样使用的。现在,我需要将一个值传递给弹出式viewController,但我无法使用正常的准备方法来做到这一点。我开始以这样的方式显示弹出控制器:
let popUpPreload = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "selectShoppingList") as! AddToListViewController
self.addChild(popUpPreload)
popUpPreload.view.frame = self.view.frame
self.view.addSubview(popUpPreload.view)
popUpPreload.didMove(toParent: self)
因此,如何将值传输到我的子视图
您需要
popUpPreload.someProperty = ""
self.addChild(popUpPreload)
class AddToListViewController:UIViewController {
var someProperty:String?
//........ access someProperty inside viewDidLoad
}
您可以按照图像中所示在第一个视图控制器中添加子视图。添加一个标签要显示数据的位置,我认为您不需要移动下一个View Controller,您可以从单个ViewController作为添加sub View在同一屏幕上执行此操作。
@IBAction func buttonSave(_ sender: UIButton) {
self.subViewLabel.text = textFieldName.text
self.view.addSubview(subView)
}
@IBAction func crossBtnAction(_ sender: UIButton) {
self.subView.removeFromSuperview()
}