Iphone 我是否应该使用界面生成器?

Iphone 我是否应该使用界面生成器?,iphone,xcode,interface-builder,Iphone,Xcode,Interface Builder,我想更多地了解在开发iPhone/iPad应用程序时使用interface builder的利弊 我已经编写了一个相当复杂和定制的应用程序,现在就在应用商店中,但是所有的界面都是手工编码的,因为它们相当复杂。我已经定制了带有背景的导航栏和选项卡栏,表格视图单元格是手动绘制的,以提高速度,一些视图是复杂的,可以通过许多子视图进行缩放 我正在考虑是否开始使用interface builder,但我不确定我会在多大程度上使用它,以及它是否值得。快一点吗?东西还能很容易定制吗 任何建议都欢迎 没有缺点。

我想更多地了解在开发iPhone/iPad应用程序时使用interface builder的利弊

我已经编写了一个相当复杂和定制的应用程序,现在就在应用商店中,但是所有的界面都是手工编码的,因为它们相当复杂。我已经定制了带有背景的导航栏和选项卡栏,表格视图单元格是手动绘制的,以提高速度,一些视图是复杂的,可以通过许多子视图进行缩放

我正在考虑是否开始使用interface builder,但我不确定我会在多大程度上使用它,以及它是否值得。快一点吗?东西还能很容易定制吗

任何建议都欢迎

没有缺点。
为什么不用它呢?它让一切变得更简单:)

绝对没有理由不使用它。有一件事吓跑了人们,那就是他们使用其他GUI工具的经验,为他们生成代码的东西,或者其他一些乱七八糟的东西。然后问题就变成了,很难对接口进行往返,一旦它们被生成,您就无法轻松地修改它们,因为将这些更改推回到发出的代码中的复杂性


Interface Builder不生成代码,它使用NSArchiver读取和写入GUI的实际对象图。这有很多好处,首先是您可以轻松地往返于界面并进行增量更改。它真的很好,使用它。:-)

就我个人而言,我发现界面生成器很难升级,有时它不会公开我想要编辑的所有属性(尽管在较新的版本中这可能已经改变),所以通常我倾向于用代码创建UI

如果使用接口生成器,请务必考虑本地化。苹果公司建议NIB是一种本地化的资源,可以进行翻译。这样,译者就可以看到新文本是否适合视图。不幸的是,这意味着翻译人员需要能够打开NIB文件并编辑它们(或者开发人员需要参与翻译过程)


就个人而言,我更喜欢提供本地化的文本资源,并在代码中将文本设置为UI。然后,我在Localizable.strings文件中提供注释,说明文本的长度,并提供翻译人员可能需要的任何上下文。

如果必须动态生成视图,如何利用IB?@pgpb.padilla通常,您可以在IB中构建视图,然后根据动态生成的需要对其进行实例化。一个常见的例子是一个表,其中每一行都是动态生成的独立视图。较小的元素和配置可以内置在IB中,而较大的配置可以动态管理。你想要什么样的动态生成?我想我明白你的意思了,我想的场景是:假设你使用一个JSON服务,它有UI规范:控件标识符、类型(日期、输入、标签等)。控件的数量是可变的,这取决于传递给服务的参数。@pgpb.padilla它取决于您正在做的事情的粒度,如果您正在制作一个通用画布类型元素,其中任何东西都可以放在任何地方,那么您可能没有IB可以做的任何事情。但是,如果您正在使用一些公共结构渲染一组对象,那么可以使用IB来处理公共部分。归根结底,IB只是对象本身的图形编辑器(模数序列化/反序列化),所以您所做的只是在编码和可视化编辑器之间来回移动。或者一个模板系统,如果它有助于考虑反序列化的方式。。。