是否有不使用界面构建器编写iPhone应用程序的任何理由?
换句话说,没有使用构建器编写应用程序是否可以呢?
是否有不使用界面构建器编写iPhone应用程序的任何理由?
换句话说,没有使用构建器编写应用程序是否可以呢?
个人而言,我的应用程序内部不使用NIBs,但这更多是我开始开发的方式而不是其他什么原因。我从做Mac开发转变到了iPhone,当第一个beta SDK发布时,我几乎每天都使用Interface Builder。起初,没有Interface Builder,即使它出现了,你也不能在iPhone上做很多事情,所以我从来没有花时间真正了解它。这更多是我熟悉的做法。
Jeff LaMarche在他的文章“Don't Fear the Interface Builder”中提出了一个令人信服的论点,鼓励您在任何可以使用Interface Builder的地方使用它,并且我鼓励新开发人员先学会使用它,然后再降级到编程用户界面生成。对于使用标准元素的接口,它可以为您节省大量时间。
有些人认为使用纯编程接口可以带来性能优势,但是Matt Gallagher进行了一系列基准测试,发现这种加速通常只有5-10%左右。如果你真的想要缩短应用程序启动时间,你可能可以尝试Adrian Kosmaczewski的nib2objc,它可以从你的NIB文件生成Objective-C代码。当然,没有使用IB编写应用程序也是完全可以的。这需要一些额外的设置(我相信您需要对Info.plist文件进行一些修改),但肯定是可行的,人们经常这样做。
个人而言,我更喜欢在大多数任务中使用Interface Builder,但通常只是为了放置基本布局(这样我就不必处理计算rect等问题)。任何进一步的自定义都可以在代码中完成。
如果你想的话,可以手动编辑.XIB文件。毕竟,它们是XML格式的。在项目中至少需要一个。或者,你可以通过代码创建所有的控件。据我所知,后者打字更少。
然后,有一些应用程序中,XIB文件将没有任何用处。我指的是游戏,艺术/设计因素胜过拥有本地小部件的便利性。
所以,在设计层面(没有本地小部件)和实施层面(有本地小部件,但没有接口生成器),都没问题。