gpt4 book ai didi

ios - iOS/monotouch 程序化 UI 布局的最佳实践

转载 作者:技术小花猫 更新时间:2023-10-29 10:59:42 25 4
gpt4 key购买 nike

iOS 新手,来自 Java/Swing 世界,我习惯于以编程方式创建 UI,让组件自行调整大小并使用各种巧妙的布局管理器来安排事物。

很明显,iOS 方式是大量使用 Interface Builder,具有大量固定大小和定位。我不确定 IB 是否会自然而然地出现,但我想固定布局是有意义的,因为您在有限的空间和固定的窗口大小下工作。

尽管如此,我似乎仍然在写很多样板文件,并且违反了 DRY 等等。

谁能给我指点一本关于布局 iOS 用户界面(尤其是编程式用户界面)的入门读物?

最佳答案

您实际上不需要使用 IB 来编写 MonoTouch 应用程序。我几乎从不这样做。 CocoaTouch API 的开发相当简单直接。

除了 apple 文档(这真的很好,值得一读)之外,我还没有真正找到任何关于 UI 开发的文章,所以根据我的经验,这里有一些提示:

  • 继承是保持代码整洁的关键。您基本上可以继承 API 中的任何类,例如按钮、 Controller 、 View 等。在这些类中继承和添加您的自定义项。不要像许多示例所示那样将所有内容都塞进 AppDelegate 中。稍后你会感谢我的。
  • 我是否已经提到过继承?
  • iOS 没有的一件事就是布局管理器,所以如果您像您提到的那样习惯了 Java,这听起来会有点奇怪。与 Java 人的想法不同,这没什么大不了的。 UITableViews 对此有很大帮助(见下一点)。
  • 许多 iPhone 应用程序都是在 UITableViewController 之上构建的,即使是看起来不像表格的应用程序也是如此。这是一个很棒的框架,可以做任何与滚动相关的事情。学会使用它。几乎任何垂直滚动的东西都是 UITVC。遵循定义何时创建以及何时处置单元格和对象的准则。
  • 每次在控件中添加框架位置时都要小心。不要设置硬编码值,而是尽可能使用其他位置的偏移量(例如 x+40)。
  • 确保根据需要将 View 添加到适当的容器中。例如,如果您要添加全局“正在加载” View ,请将其添加到 Window 对象,而如果您要在表格单元格的左侧添加图像,请使用 ContentView。 iOS 始终会自动更改这些特殊 View (调整屏幕大小以适应顶部的“待命”栏或旋转手机)。
  • Miguel de Icaza 创建了一个用于管理表单和表格的出色框架,称为 MonoTouch Dialog。 Take a look, and enjoy.

关于ios - iOS/monotouch 程序化 UI 布局的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3874998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com