【问题标题】:iPhone app without using Interface Builder不使用 Interface Builder 的 iPhone 应用程序
【发布时间】:2010-03-18 19:17:30
【问题描述】:

是否有任何理由在不使用界面生成器的情况下编写 iphone 应用程序?

(或者换句话说,可以在没有构建器的情况下编写应用程序吗?)

【问题讨论】:

  • 我希望有人在我参加的 iPhone 技术讲座上提出这个问题,这样可以节省我大量使用 IB 的时间

标签: iphone interface-builder


【解决方案1】:

就我个人而言,我的应用程序中没有使用任何 NIB,但这更多的是我如何开始进行开发而不是其他任何事情。当第一个 beta SDK 发布时,我从 Mac 开发(我几乎每天都使用 Interface Builder)过渡到 iPhone。最初,没有 Interface Builder,即使它来了,你也不能用它做很多事情,所以我从来没有花时间在 iPhone 上真正了解它。更多的是我做我熟悉的事情。

Jeff LaMarche 在他的文章“Don't Fear the Interface Builder”中提出了一个令人信服的论点,建议您尽可能使用 Interface Builder,我鼓励新开发人员在开始编程用户界面生成之前先学习使用它。它为使用标准元素的界面节省了大量时间。

有些人认为使用纯编程接口可以获得性能优势,但 Matt Gallagher ran a series of benchmarks 发现这种加速通常只有 5-10% 左右。如果您真的想缩短应用程序启动时间的最后一点,您可以使用 Adrian Kosmaczewski 的 nib2objc 来两全其美,它会从您的 NIB 文件生成 Objective-C。

但是,很多时候您需要以编程方式操作界面,例如自定义视图和动画。此代码可以与 Interface Builder 并行存在,而不会造成太多混乱。同样,此时更多的是个人喜好问题,但我的建议是使用 Interface Builder,因为它可以节省您的时间。

【讨论】:

    【解决方案2】:

    我从未编写过使用 Interface Builder(.xib 文件)的 iPhone 应用程序,但这只是个人喜好:我喜欢应用程序是 100% 代码。

    原因是如果您以后需要更改某些内容,我不喜欢需要设计时工具的应用程序。它创建的依赖关系可能在今天或下个月不会成为问题,但可能会在 3 年后成为问题。

    所以,答案是:是的,不使用 Interface Builder 编写 iPhone 应用程序也没问题。

    【讨论】:

    • 那么如何避免在代码中创建更神秘的依赖关系?
    【解决方案3】:

    当然,在没有 IB 的情况下编写应用程序绝对没问题。这需要更多设置(我相信您必须对 Info.plist 文件进行一些修改),但这当然是可能的,而且人们一直都在这样做。

    就个人而言,我更喜欢在大多数任务中使用 Interface Builder,但通常只是为了获得基本布局(因此我不必处理计算矩形等)。我更喜欢在代码中进行任何进一步的定制。

    【讨论】:

      【解决方案4】:

      如果您愿意,您可以手动编辑 .XIB 文件。毕竟,它们是 XML。不能帮助在项目中至少有一个。或者,您可以从代码创建所有控件。据我所知,后者需要更少的输入。

      然后,在某些应用程序中,XIB 文件将毫无用处。我说的是游戏,艺术/设计方面的考虑胜过拥有原生小部件的便利性。

      所以是的,在设计级别(没有原生小部件)和实现级别(是原生小部件,但没有 IB)都可以。

      【讨论】:

      • 是的,您可以,但 .xib 文件是一种未记录的格式。它们是 XML,因此它们与版本控制系统配合得很好。
      • 真的没有证件吗?傻我。无论如何,在代码中创建小部件是一种非常好的选择。
      • "不能帮助在项目中至少有一个" - 实际上你可以从你的应用程序中完全删除 xib 文件,这并不难。查看vimeo.com/3363949
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      相关资源
      最近更新 更多