ios - 设置多个 UIViewController 的最合乎逻辑的方法是什么?

标签 ios swift uiviewcontroller storyboard segue

<分区>

有 3 种方式可以在 iOS 应用程序的页面中漫游。

  1. 使用 main.storyboard 并通过 segues 连接 View Controller 。(通过拖动和拉伸(stretch) View Controller 关联 View Controller )

  2. 对它们进行编码。这意味着我们有一个 Storyboard文件,每个页面都有 View Controller 类,并通过编码将它们连接起来。

  3. 通过 UIViewController 协议(protocol)为每个页面创建类,并在没有 Storyboard文件的情况下通过编码将它们连接在一起。

现在,请你向我解释一下哪一个更好、更合乎逻辑?

最佳答案

与所有基于意见的问题一样,视情况而定。

我个人讨厌 Storyboard。它们既笨重又可怕,自动布局是一场噩梦(此处由自动布局引起的问题数量之多令人发指...但我离题了)。

我更喜欢对所有内容进行硬编码。它让我拥有更大的灵 active ,更加透明,并且在设置我的应用程序布局时更容易调试,但显然需要更长的时间。

但是,使用 Storyboard可以让您在构建 UI 时将其可视化,这就是为什么这么多人(尤其是 Xcode 新手)喜欢它们的原因。当然,您不能一切 完全通过 Storyboard来完成,您必须在某些时候对它们背后的逻辑进行编码。因此,我建议您习惯以编程方式管理 View 和 segue,即使您确实想使用 Storyboard。

此外,如果您决定使用 Storyboard,as Andrey says , 如果您正在处理大量 View ,您应该拆分 Storyboard文件。它们可能会因 View 太多而变得臃肿和滞后(这是我讨厌它们的另一个原因)。

关于ios - 设置多个 UIViewController 的最合乎逻辑的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34873814/

相关文章:

ios - NSDateComponents 四舍五入

ios - Swift 初始化 - 为什么要调用多个 init 函数?

ios - UIViewController子类调用方法

ios - 需要从另一个viewController调用其他viewController中的方法

javascript - 滚动 UI 时 UI 未更新

ios - 即使我调用 stopUpdatingLocation,位置管理器图标仍然显示

如果我从 wi-fi 切换到 3g,ios https 会失败

generics - 如何在 Swift 中实现 CollectionOf

ios - Swift - UIToolbar 中的 UISearchBar

ios - UICollectionView scrollToItem 在 iOS 14 中不起作用