我正在开发一种聊天应用程序,它会提出一些问题,用户可以在其中回答。
每个问题都有自己的屏幕,在用户回答问题后,会有一个导航到下一个屏幕的按钮。
所有的屏幕几乎都不一样。一个 UILabel 和输入字段。现在我想知道是否有一种方法可以重用这个 View ,这样我就不必创建多个完全相同的 View Controller 。
这可能吗?我应该寻找什么?
最佳答案
您可以通过以下方式执行此操作:
在重用 View Controller 中创建变量:
var question: String!
按钮 Action 需要执行转场:
@IBAction func nextQuestionAction() { performSegue(withIdentifier: "NextQuestionSegue", sender: nil) }
在为 segue 做准备时,在转换之前,您分配下一个问题:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { super.prepare(for: segue, sender: sender) if segue.identifier == "NextQuestionSegue" { guard let destinationVC = segue.destination as? ReuseViewController else { return } destinationVC.question = "Question goes here" } }
这就是它的工作方式。
关于ios - 如何为多个屏幕的进程重用 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47071027/