9

iOS6 有 AutoLayout,这是一个基于约束的布局系统。我想它在某种程度上可以与 Android 灵活的 XML 布局相媲美。

我正在启动一个 iOS6 项目并希望您使用 AutoLayout。这个应用程序将是通用的。它将有一些在 2 个设备系列之间极为相似的视图。iPad 上的其他视图将是 iPhone 视图中的 2 个或更多控制器。

据我了解,UIViewControllers 可以与其他子 UIViewControllers 一起设置。这意味着在这两种设备中构建通用视图有两个要素。

所以我的问题是,为什么需要 2 个故事板?我可以看到 iPad 故事板有一些额外的控件等。在两种设备类型之间也存在缩放字体大小和其他变量的问题。任何人都可以就如何在 2 个故事板上不重复视图并有效地使用 AutoLayout 来实现一个好的通用应用程序提供建议吗?

非常感激。

4

2 回答 2

8

iPad UI 往往不是 iPhone UI 的简单放大版。有更多的屏幕空间可供使用,并且有自定义的仅限 iPad 的界面元素(例如 UISplitViewController)。

如果在您的情况下,不同的设备具有非常相似的布局,那么是的,您可以只使用一种带有自动布局的布局,它可以正常工作。但是,在大多数情况下,我建议不要这样做。更清楚的是只有两种布局,一种用于每种设备。

最终决定权在你。也许您可以尝试使用自动布局的单一布局策略,看看您是否遇到任何特定问题。

于 2013-10-01T13:19:28.823 回答
2

根据我的经验,您可能更容易不使用情节提要并以编程方式制作所有内容,但这更多是基于意见。

您的问题有点含糊,但我的意见是按照您提到的那样设置具有自动布局的视图,然后有一个使用这些视图的控制器。最终会发生的是,您将在控制器内的视图中拥有视图,这将允许您控制所有布局,同时能够根据设备选择去哪里。

如果你给出一个更具体的例子来运行它可能会有所帮助。不过说实话,这也是我感兴趣的事情,我期待看到其他想法。

于 2013-01-25T22:58:12.093 回答