我在故事板中设计了一个登录/密码控制器。文本字段通过著名的ctrl+drag链接到控制器。
有没有办法在应用程序的其他地方重用storyboard+控制器。例如,我想让用户能够从设置菜单更改他的登录名,我不想创建一个新类并克隆它的脚本表示。
在这种情况下,重用我已经做过的事情的最佳实践是什么?

最佳答案

这就是视图控制器的标识符的用途。
在故事板中,为LoginViewController设置一个标识符,之后,您只需要显示LoginViewController或将其推送到导航堆栈中。您的代码应该如下所示:

let storyboard = UIStoryboard(name: "yourStoryboardName", bundle: nil)
let loginViewController = storyboard.instantiateViewController(withIdentifier: "loginViewController") as! LoginViewController

// If you are in a navigation controller:
self.navigationController?.pushViewController(loginViewController, animated: true)

// If you just want to present a new view:
self.present(loginViewController, animated: true, completion: nil)

这样,您将推送/呈现一个新的视图控制器,该控制器具有在脚本中为标识符“loginViewController”指定的布局。
该视图控制器中的所有文本字段和按钮应在为视图控制器指定的类中处理,在您的情况下,该类应LoginViewController

关于ios - 重用 Storyboard 和uicontrollers,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44800125/

10-14 23:07