0

当用户点击“登录”时,我在我的 iPad 应用程序中使用 Storyboards 和 segues 创建一个弹出窗口。每种登录类型都有自己的 ViewController,需要更多的 popover 控制器。

让主视图控制器生成所有弹出框内容是否合适,或者更确切地说替换一个弹出框控制器的内容?

例如(我将尝试用文本绘图来表示它_)

1.) MainVC -> Popover(“使用电子邮件登录”、“使用 Facebook 登录”等) MainVC <- 用户点击按钮 MainVC -> 弹出框(电子邮件文本字段、密码文本字段) MainVC <- 用户输入内容...

2.) MainVC -> 弹出框(“使用电子邮件登录”、“使用 Facebook 登录”等)弹出框 -> 替换内容(使用文本字段加载视图控制器)新内容 -> 处理 UITextField 输入

我选择了选项 1,因为它很容易实现,尽管选项 2 似乎更有条理。你认为更好的做法是什么?

4

1 回答 1

0

任何一种选择都可以,任何涉及 UI 的东西都不是性能问题。因此,“正确”的答案可能取决于代码复杂性/清晰度等次要考虑因素。我投票赞成在 Storyboard 中创建单独的实例,而不是使用 rutnime 代码重新利用单个实例。

通过单独的视图控制器设置,每个场景都可以针对其内容进行最佳布局,包括使用动态约束。一切都记录在情节提要中,并且需要整理的运行时代码更少。对我来说,最好在故事板上有一些混乱而不是在代码中。您可能有不同的优先级。

如果不同弹出框的 ViewControllers 共享许多行为,请使用继承来减少代码扩散。

于 2013-03-08T20:56:20.117 回答