iPhone 70 种不同视图的最佳设计?

Posted

技术标签:

【中文标题】iPhone 70 种不同视图的最佳设计?【英文标题】:iPhone best design for 70 different views? 【发布时间】:2011-05-11 04:02:36 【问题描述】:

我是 iPhone 开发的新手...试图找出 70 多次观看的最佳设计。我有 1 个导航控制器和 70 个视图还是什么?

我原本以为我会有大约 10 个 XIB,每个都有自己的 NavController 和视图,但我没有发现任何人似乎认为这是正确的。

我想我理解 iPhone 本身并不处理内存释放,所以我假设这将是如何使这项工作的一些选择。

【问题讨论】:

【参考方案1】:

如果您要实现 70 多个视图,则意味着您必须同时使用导航控制器和标签栏控制器。然后只有用户可以轻松访问所有视图。如果您使用 1 个导航控制器和 70 多个视图,则意味着用户很难查看所有视图。

【讨论】:

【参考方案2】:

如果您想使用 Interface Builder(内置于 Xcode4 或 Xcode 3 及更早版本的单独应用程序)以图形方式设计您的视图,我会在您的第一个 xib 中使用 UINavigationController(带有 UIWindow 的)。然后,您可以在自己的 xib 文件中单独设计每个其他视图,并根据需要加载它们并将它们推送到导航堆栈。

你的理解是正确的; ios 不支持自动垃圾回收,尽管有一个相当成熟的范例来说明如何根据需要分配和释放内存以避免内存泄漏。 iPhone 应用程序中的 70 个视图是相当多的,但理论上应该没问题,尽管我可以看到如果用户必须在层次结构中向下钻取相当多的方式并且每个连续的视图会占用更多内存,则会出现问题。

【讨论】:

每个视图都有一个 XIB 有什么好处? 好吧,假设您的每个视图都占据了整个 iPhone 屏幕,那么它允许您在视觉上分别设计每个视图,然后根据需要单独加载它们。如果您尝试将所有内容放在一个 xib 文件中,那么当加载该 xib 文件时,您的所有视图也会加载到内存中。将它们分开可以让您更有效地控制它 感谢您的帮助!现在我要做的就是弄清楚如何让这个想法发挥作用;)再次感谢! 你能帮我写代码吗?我有带有 NavController 和一个视图的 appdelegate。这行得通。然后我用一个有视图但没有控制器的 XIB 创建了一个新类。怎么办?我想从 IB 开始,因为我没有 appdelgate 对象,我不确定如何将它们联系在一起。然后调用它的代码。我整天都在兜圈子。希望有人能帮忙 对于您设计的每个 UIView,您还需要自己的 UIViewController(或 UITableViewController)子类。您创建的这个子类将是包含 UIView 的 xib 的文件所有者(单击文件的所有者并在身份检查器中将类更改为您的自定义 UIViewController 子类)。然后您可以通过这种方式加载笔尖:MyVC *vc = [MyVC initWithNibName:NSStringFromClass([MyVC class]) bundle:nil];

以上是关于iPhone 70 种不同视图的最佳设计?的主要内容,如果未能解决你的问题,请参考以下文章

切换iPhone视图的最佳做法?

显示新视图控制器的最佳实践 (iPhone)

iPhone 5 CSS 媒体查询

iPhone:有条件地加载视图

为 iphone 4s 和 5/5c/5s 屏幕尺寸开发的最佳实践 [关闭]

iPhone - 试图在表格视图中显示 2 种不同的对象类型