何时创建Interface Builder插件以定制视图?

9
当您的自定义对象只被一个应用程序使用、您的自定义对象依赖于仅在您的应用程序中发现的状态信息或将您的自定义视图封装在独立库或框架中会导致问题时,您建议何时使用插件将自定义视图集成到Interface Builder中?阅读苹果公司的Interface Builder Plug-In Programming Guide时,我发现:

  • 您的自定义对象是否仅由一个应用程序使用?
  • 您的自定义对象是否依赖于仅在您的应用程序中发现的状态信息?
  • 将您的自定义视图封装在独立库或框架中是否会有问题?

如果您对任何前面的问题回答是肯定的,则您的对象可能不适合作为插件的候选对象。

这回答了我的一些问题,但我仍然想知道您的想法,什么情况下使用插件是个好主意?有哪些好处,需要多大的时间投入?

2个回答

9

将应用程序使用的视图和控制器类推出到一个单独的框架中,嵌入在应用程序包装器中并为其制作一个Interface Builder插件是完全合理的。

除其他原因外,在Interface Builder中可以配置常用于应用程序的类,而不是在分散的-awakeFromNib实现中进行配置。这也是您可以让您的对象公开绑定以在Interface Builder中设置的唯一方法。

虽然需要编写一些代码,但对于在多个地方使用且在实际使用之前需要额外设置的视图和控制器类,您可能会节省大量时间。而且,使用自己的控制器和视图类进行开发的体验将与使用Cocoa的类相似。


我同意。但是我会将视图类直接添加到目标应用程序中,而不是添加到一个单独的框架中,即使它已经嵌入在应用程序包中。 - Sven

2
我认为苹果的指南总结得很好。
如果你正在编写一个将在多个应用程序中使用且完全通用的控件,则创建自定义对象是一个好主意。您将能够直接从Interface Builder可视化外观并设置属性。
如果您的控件仅限于一个应用程序,或与您的数据紧密耦合,则将其移入自定义对象真的不会给您带来太多好处。
创建自定义视图并不难,有很多易于follow的指南。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接