我想知道使用 .xib 文件来绘制/与用户界面交互是否是一种好习惯。使用 xib 文件有什么好处?如果我不使用它,只需初始化一个视图控制器并在硬代码上绘制/定位对象是最佳实践吗?有什么好处?我正在考虑它,因为有些配置无法在 .xib 中完成,只能使用硬代码。制作一个通用的应用程序,国际化是更好地使用 .xib 还是可以全部用硬代码完成?谢谢你。
4 回答
我不认为这是“最佳实践”的问题。如果您有一个相当复杂的布局,其中有许多子视图需要放置在彼此之间的特定关系中,那么在 xib 或故事板中做起来要容易得多。对于通用应用程序,您通常会为 iPad 和 iPhone 版本提供单独的 xib 或故事板。就国际化而言,许多与之相关的问题都可以通过布局约束来处理(例如自动更改标签的大小),并且在 WWDC 2012 演讲“Auto Layout By Example”中对此进行了讨论。
这取决于要求和需要。
大多数情况下,IB 都能满足您的要求,因此无需为所有 GUI 内容编写代码,但您应该知道如何从代码创建 GUI。
对于 iphone,您可以满足您的所有需求,但使用 macos,大型控件和嵌套控件会给您带来麻烦。
所以这取决于你,你觉得哪种方式更简单。
我认为这取决于您要完成的工作。现实情况是您想使用所有可用的工具。
与试图在代码中弄清楚它相比,使用故事板可以更快、更容易地创建 UI。您还可以立即获得有关其外观的反馈,而无需重新编译。有时,看到一些东西比想象它会是什么样子更容易。
这并不意味着你不应该知道如何在代码中做同样的事情。如果您不能在 xib/storyboard 中执行此操作,我会退回到代码。
您无法执行哪些配置?使用 IB 很容易实现国际化。有一些关于 IB、故事板和国际化的精彩 WWDC 视频。在排除你能做什么和不能做什么之前,我会先检查一下。
我会亲自使用 Storyboard 创建它,而不是 xib。使用情节提要,您可以以编程方式生成界面、转场等。您还可以在情节提要中创建任何 UIElement,就像在 XIB 中一样。