当我在用户点击“登录”时,我在我的iPad应用程序中使用Storyboard和segues创建一个弹出窗口。每种登录类型都有自己的ViewController,需要更多的弹出控制器。
让主视图控制器生成所有弹出窗口内容,或者更换一个弹出控制器的内容是否合适?
例如(我将尝试使用文本绘图_来表示这一点)
1)。 MainVC - > Popover(“使用电子邮件登录”,“使用Facebook登录”等。) MainVC< - 用户点击按钮 MainVC - > Popover(电子邮件文本字段,密码文本字段) MainVC< - 用户输入内容......
2)。 MainVC - > Popover(“使用电子邮件登录”,“使用Facebook登录”等。) Popover - >替换内容(使用文本字段加载视图控制器) 新内容 - >处理程序UITextField输入
我选择了1因为它很容易实现,尽管选择2似乎更有条理。您认为更好的做法是什么?
答案 0 :(得分:0)
任何一种选择都可行,任何涉及UI的内容都不是性能问题。因此,“正确”的答案可能取决于代码复杂性/清晰度等次要考虑因素。我投票支持在Storyboard中创建单独的实例,而不是使用rutnime代码重新调整单个实例。
使用单独的视图控制器设置,每个场景都可以针对其内容进行最佳布局,包括使用动态约束。故事板中记录了所有内容,并且减少了运行时代码。对我来说,最好是在故事板上比在代码中有些混乱。您可能有不同的优先事项。
如果不同弹出窗口的ViewControllers共享许多行为,请使用继承来减少代码扩散。