iOS - UI 在编码中而不是在 XIB 或 Storyboard 中进行设计是否可行?
iOS - UI design in coding and not in XIB or Storyboard is Feasible or not?
我的疑问很简单
我想开发一个大的 iOS (iPhone) 应用程序,比如 30 个屏幕。
我的一个朋友建议我只在编码中开发整个 UI,不要使用 XIB 或故事板。
我想问一下,我在编码中开发整个 UI 而不是使用 XIB 和故事板是否可行?
- 这会影响我的 iOS 应用处理吗?
- 这会影响我的 iOS 应用程序执行速度吗?
请建议我使用 XIB 和 Storyboard 的正确方法,仅通过编码开发 UI ..... !!!!
谢谢。
首先,告诉你的朋友不要再给你建议。(开玩笑!:))你可以通过编程方式开发整个应用程序,但这只是一种痛苦。 Apple 引入了故事板,以减少在您的产品中拥有多个 xib 文件的浪费。
就我个人而言,如果因为冲突的痛苦而有很多队友与你一起工作,请使用 xibs。如果您是单独工作,那么故事板将是最合适的。
从字面上回答你的问题:是的,你可以制作一个没有任何故事板或 xib 的应用程序。我认为 iPhone 6/6+ 你必须至少有一个,因为他们会检查你是否支持更大的屏幕,但仅此而已。
事实上,我 2013 年的第一个应用程序几乎没有 Xib UI 设计。它只是 iPhone 肖像,我用框架编码并对我得到的精确结果感到满意——我也认为我学到了很多东西。我认为使用自动布局,特别是如果您学习了视觉格式语言(尽管这不是一件容易的事),完全在代码中创建一个健壮的界面是可行的。
就是说,不使用界面生成器就是不做事 "the Apple way." 不按照 Apple 的方式做事通常——不总是,但通常——会更加困难。在一个层面上,WWDC 视频、指南和示例代码都假设您正在使用 IB。在代码中创建每个标签、子视图和视图控制器将比使用 xibs 或故事板多花费几行。你将逆流而上。
值得注意的是,IB 有时会非常令人沮丧。但总的来说这是值得的,学习如何将它与代码联系起来就是学习 iOS 编程。另外关于 IB ,它生成的文件只是 XML 文件,它不会对大小或性能产生任何重大影响 - 我会提防那些告诉你的人的建议。
全代码应用程序是可行的,并且是一种具有挑战性的学习方式,但这不是我会给任何人或第二个人的建议。
是的,没有解决所有问题的灵丹妙药,每个项目都是具体的,您预测项目需求的能力将使您能够做出决定。以下是有助于做出决定的两种方法的优缺点:
Storyboards/XIB 优点: 非常直观,初学者友好,易于自动布局,MVC 分离在视图方面很简单
Storyboards/XIB 缺点: SCM 冲突几乎总是无法解决,并非所有参数都可以从 IB 配置,因此您仍然需要知道如何在代码中做一些事情
纯代码方法的优点: 完全控制代码中的整个表示,可以轻松解决冲突
纯代码方法缺点:可能需要更多经验才能掌握
我的判断是:
对于由 basic/stock UI 元素组成的中小型项目,使用 storyboards/XIB 是更好的解决方案。
引入视觉上复杂的解决方案和非标准转换将需要您开始越来越多地编写布局代码,并且在没有 XIB 的情况下事情会变得更容易。
根据我的经验,如果你是更大的开发团队的一员,Storyboards 和 XIBs 是一个很大的 NO..
我更喜欢完全不使用 IB,即使是对于较小的项目,因为在编写一堆代码后按 CMD+R,看到它活跃起来是非常令人愉快的..:-)
我的疑问很简单
我想开发一个大的 iOS (iPhone) 应用程序,比如 30 个屏幕。
我的一个朋友建议我只在编码中开发整个 UI,不要使用 XIB 或故事板。
我想问一下,我在编码中开发整个 UI 而不是使用 XIB 和故事板是否可行?
- 这会影响我的 iOS 应用处理吗?
- 这会影响我的 iOS 应用程序执行速度吗?
请建议我使用 XIB 和 Storyboard 的正确方法,仅通过编码开发 UI ..... !!!!
谢谢。
首先,告诉你的朋友不要再给你建议。(开玩笑!:))你可以通过编程方式开发整个应用程序,但这只是一种痛苦。 Apple 引入了故事板,以减少在您的产品中拥有多个 xib 文件的浪费。 就我个人而言,如果因为冲突的痛苦而有很多队友与你一起工作,请使用 xibs。如果您是单独工作,那么故事板将是最合适的。
从字面上回答你的问题:是的,你可以制作一个没有任何故事板或 xib 的应用程序。我认为 iPhone 6/6+ 你必须至少有一个,因为他们会检查你是否支持更大的屏幕,但仅此而已。
事实上,我 2013 年的第一个应用程序几乎没有 Xib UI 设计。它只是 iPhone 肖像,我用框架编码并对我得到的精确结果感到满意——我也认为我学到了很多东西。我认为使用自动布局,特别是如果您学习了视觉格式语言(尽管这不是一件容易的事),完全在代码中创建一个健壮的界面是可行的。
就是说,不使用界面生成器就是不做事 "the Apple way." 不按照 Apple 的方式做事通常——不总是,但通常——会更加困难。在一个层面上,WWDC 视频、指南和示例代码都假设您正在使用 IB。在代码中创建每个标签、子视图和视图控制器将比使用 xibs 或故事板多花费几行。你将逆流而上。
值得注意的是,IB 有时会非常令人沮丧。但总的来说这是值得的,学习如何将它与代码联系起来就是学习 iOS 编程。另外关于 IB ,它生成的文件只是 XML 文件,它不会对大小或性能产生任何重大影响 - 我会提防那些告诉你的人的建议。
全代码应用程序是可行的,并且是一种具有挑战性的学习方式,但这不是我会给任何人或第二个人的建议。
是的,没有解决所有问题的灵丹妙药,每个项目都是具体的,您预测项目需求的能力将使您能够做出决定。以下是有助于做出决定的两种方法的优缺点:
Storyboards/XIB 优点: 非常直观,初学者友好,易于自动布局,MVC 分离在视图方面很简单
Storyboards/XIB 缺点: SCM 冲突几乎总是无法解决,并非所有参数都可以从 IB 配置,因此您仍然需要知道如何在代码中做一些事情
纯代码方法的优点: 完全控制代码中的整个表示,可以轻松解决冲突
纯代码方法缺点:可能需要更多经验才能掌握
我的判断是: 对于由 basic/stock UI 元素组成的中小型项目,使用 storyboards/XIB 是更好的解决方案。 引入视觉上复杂的解决方案和非标准转换将需要您开始越来越多地编写布局代码,并且在没有 XIB 的情况下事情会变得更容易。
根据我的经验,如果你是更大的开发团队的一员,Storyboards 和 XIBs 是一个很大的 NO..
我更喜欢完全不使用 IB,即使是对于较小的项目,因为在编写一堆代码后按 CMD+R,看到它活跃起来是非常令人愉快的..:-)