有没有理由不在不使用界面构建器的情况下编写iphone应用程序?
(换句话说,没有构建器可以编写应用程序吗?)
答案 0 :(得分:9)
就个人而言,我的应用程序在其中不使用任何NIB,但这更多的是我开始进行开发而不是其他任何事情。我从第一个测试版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,因为它可以节省您的时间。
答案 1 :(得分:4)
我从未编写过使用Interface Builder(.xib文件)的iPhone应用程序,但这只是个人品味:我喜欢应用程序是100%代码。
原因是如果您稍后需要更改某些内容,我不喜欢需要设计时工具的应用程序。它创建了一个依赖,可能在今天或下个月都不会成为问题,但它可能会在3年内成为一个问题。
所以答案是:是的,没有使用Interface Builder就可以编写iPhone应用程序。
答案 2 :(得分:1)
当然,在没有IB的情况下编写应用程序绝对没问题。它需要更多的设置(我相信你必须对你的Info.plist文件进行一些修改),但它肯定是可能的,人们总是这样做。
就个人而言,我更喜欢使用Interface Builder来完成大多数任务,但通常只是为了获得基本布局(所以我不必处理计算rects等)。我希望在代码中进行任何进一步的自定义。
答案 3 :(得分:0)
如果需要,您可以手动编辑.XIB文件。毕竟,它们是XML。不能在项目中至少拥有其中一个。或者,您可以从代码创建所有控件。据我所知,后者的打字次数较少。
然后,有些应用程序的XIB文件没用。我在谈论游戏,其中艺术/设计考虑因素超过了使用本机小部件的便利性。
所以是的,它在设计级别(没有本机小部件)和实现级别(是本机小部件,但没有IB)上都可以。