代码之家  ›  专栏  ›  技术社区  ›  Sean

为什么感觉界面生成器会妨碍我?

  •  4
  • Sean  · 技术社区  · 16 年前

    我对Cocoa for MacOSX非常陌生,但我忍不住觉得自己一直在与Interface Builder搏斗。

    我还面临着一些控件根据数据或当前选择更改属性(如颜色)的情况。现在我在Interface Builder中指定了控件的初始默认颜色,但我必须在代码中指定数据驱动的颜色?界面生成器似乎再次让我不得不在它的世界和代码之间分割一些表示设置。我想用一个了解我的数据、状态或其他信息的复杂插件可以解决这个问题,但似乎我最终会维护大量现有的支持代码,这样Interface Builder的体验仍然是“正确的”

    就像我在公开赛上说的,我对Cocoa这个东西还很陌生,但我觉得要么我缺少了一些关于如何使用Interface Builder的非常重要的东西,要么它主要是为具有高“哇”因子的普通演示应用程序设计的。

    4 回复  |  直到 16 年前
        1
  •  7
  •   Dave DeLong    16 年前

    我发现Interface Builder非常适合获取应用程序的通用布局。对于绑定(在Mac上)这样的东西来说,它也很好。但是,您无法使用Interface Builder创建Delicious库。界面越复杂,需要编写的代码就越多。

        2
  •  6
  •   alesplin    16 年前

    界面生成器可能需要一点时间来适应。但是,正如前面所说的,你用得越多,它就越好。当然,自定义视图可以在代码中完成,但IB是一个标准是有原因的。社区对Mac应用程序的用户界面质量有一定的要求,这远远高于其他平台的用户界面标准。IB使得遵守这些标准比在代码中做任何事情都要容易得多,而无需任何视觉参考。

    您不必在代码中做任何事情就可以使UI处于版本控制中。我的所有Cocoa项目都位于自己的git存储库中,包含nib/xib文件。

    所以给IB一个机会。你用得越多,它就越容易。

        3
  •  2
  •   refulgentis    16 年前

    an excellent article 关于为什么IB是一个很好的选择,即使在你通过基本教程后它似乎不是正确的路线。出于与您类似的原因,我放弃了IB,但这篇文章激励我继续使用它,它确实最终成为了正确的解决方案,尽管它违背了极客不允许太多泄漏的抽象的倾向。

        4
  •  1
  •   Devin Ceartas    16 年前

    我的第一个iPhone程序(可供出售)和第二个正在开发中的程序都没有使用Interface Builder。我喜欢把它全部放在代码中,这样我就可以理解发生了什么,这样我就可以使用版本跟踪来跟踪所有的更改。