iOS / monotouch编程UI布局的最佳实践

10

我刚开始学习iOS开发,之前从事Java/Swing开发,在那里我习惯通过编写程序创建UI,让组件自动调整大小并使用各种巧妙的布局管理器来排列元素。

很明显,在iOS中,很多时候需要使用Interface Builder来创建UI,其中涉及大量固定大小和位置的元素。虽然我不确定是否会自然而然地掌握IB,但考虑到你需要在有限的空间和固定窗口大小下工作,所以固定布局是合理的选择。

尽管如此,仍然觉得自己写了很多样板代码,并违反了DRY原则等问题。

有没有人能给我介绍一些关于iOS UI布局的入门文章或教程,特别是关于编写程序化UI的?

1个回答

20

你不一定需要使用IB来编写MonoTouch应用程序,我几乎从不使用。CocoaTouch API相当简单和直接,易于开发。

除了苹果文档(非常好,值得一读),我没有找到其他有关UI开发的文章,因此根据我的经验提供以下几点建议:

  • 继承对于保持代码干净非常重要。您可以继承API中的任何类,如按钮、控制器、视图等。在这些类中添加自定义内容并进行修改。不要像许多示例所示的那样将所有内容塞到AppDelegate中。以后您会感激我的。
  • 我已经提到过继承了吗?
  • iOS唯一缺少的是布局管理器,所以如果您习惯于Java,则可能听起来有点奇怪。与Java人们的想法不同,这并不是大问题。UITableViews在这方面非常有帮助(请参见下一点)。
  • 许多iPhone应用程序都建立在UITableViewController之上,即使不像表格那样看起来的应用程序也是如此。它是处理与滚动相关的任何事情的极佳框架。学会充分利用它。几乎所有垂直滚动的内容都是UITVC。遵循定义何时创建和何时处理单元格和对象的指南。
  • 每次在控件中添加框架位置时要小心。尽可能使用其他位置的偏移量(例如x+40)代替设置硬编码值。
  • 确保根据需要将您的视图添加到正确的容器中。例如,如果要添加全局“加载”视图,请将其添加到Window对象中,而如果要在表格单元格左侧添加图像,请使用ContentView。iOS会自动更改这些特殊视图(调整屏幕大小以适应顶部的“呼叫”栏或旋转手机等)。
  • Miguel de Icaza创建了一个管理表格和表单的绝佳框架,称为MonoTouch Dialog。看一下,享受吧。

谢谢,这很有帮助。我会继续尝试使用IB一段时间,因为很多文档都假定你在使用它,但不久之后我可能会转向手工编码。 - David Moles

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