【问题标题】:What is the most logical way of setting up multiple UIViewControllers? [closed]设置多个 UIViewController 最合乎逻辑的方法是什么? [关闭]
【发布时间】:2016-04-24 18:00:59
【问题描述】:
有 3 种方法可以浏览 iOS 应用的页面。
使用 main.storyboard 并通过 segues 连接视图控制器。(通过拖动和拉伸视图控制器关联视图控制器)
对它们进行编码。这意味着我们有一个故事板文件,每个页面都有视图控制器类,并通过编码将它们连接起来。
通过UIViewController 协议为每个页面创建类,并通过无需故事板文件的编码将它们连接在一起。
现在,请您向我解释一下其中哪一个更好,更合乎逻辑?
【问题讨论】:
标签:
ios
swift
uiviewcontroller
storyboard
segue
【解决方案1】:
与所有基于意见的问题一样,这取决于。
我个人讨厌故事板。它们笨重而可怕,自动布局是一场噩梦(这里由自动布局引起的问题数量之多令人发指……但我离题了)。
我更喜欢硬编码所有内容。它让我有更大的灵活性,更透明,更容易在我设置应用布局时进行调试,但显然需要更长的时间。
但是,使用故事板可以在构建 UI 时将其可视化,这就是为什么这么多人(尤其是 Xcode 新手)喜欢它们的原因。当然,您不能做所有事情纯粹通过情节提要,您必须在某些时候编写它们背后的逻辑。因此,我建议您习惯以编程方式管理视图和转场,即使您确实想使用情节提要。
此外,如果您确实决定使用情节提要as Andrey says,那么如果您正在处理大量视图,则应该拆分情节提要文件。他们可能会因为浏览量过多而变得臃肿和迟钝(我讨厌他们的另一个原因)。
【解决方案2】:
您还可以为每个“功能组”创建多个故事板文件。
我认为这实际上取决于您的应用程序有多大(您需要多少视图和控制器)。对于具有几个视图的小型单页应用程序,您可以使用一个故事板和 segues。
但是当应用程序变得更加复杂时,您应该将视图拆分到单独的故事板中,并以编程方式实例化视图控制器,而无需使用 segues。
对于小视图,您仍然可以使用 xibs。
【解决方案3】:
故事板:最好使用这种方式,为开发人员提供流畅的 GUI 和清晰的图形流程以遵循您的应用结构。
使用情节提要但以编程方式连接控制器:为什么要使用这种方式而不是使用 (1) 选项!如果您需要自定义视图控制器之间的转换,您仍然可以在情节提要中执行此操作并为其创建自定义转场然后分配它,因此(1)更好。
不使用情节提要:传统上在尚未引入情节提要时使用它,现在您可以使用它,但仍然 (1) 是最好和最简单的使用方式,而且速度更快发展。
希望有帮助(选择第一选择)
【解决方案4】:
我个人同时使用两者,我更喜欢编写代码,但是我倾向于混合使用故事板和代码,因为 originalUser2 指出自动布局很糟糕,但故事板可用于减小单个文件的大小。