为2个故事板使用相同的ViewController文件(以获得相同的视图)

时间:2013-10-19 17:27:07

标签: ios objective-c uiviewcontroller storyboard

我正在构建我的第一个单一视图应用。我的主要故事板中有我的UI元素。我根据3.5英寸的屏幕安排了所有元素,现在看起来不错。我希望该应用在4英寸显示屏上看起来也不错。现在我创建了一个4英寸的故事板(空白),我想要显示相同的视图,只需更改布局和位置以适应4英寸的屏幕。

我认为我可以为不同的布局创建一个单独的故事板视图但是使用相同的视图控制器文件(.h和.m)所以一切(按钮和标签等)以相同的方式工作但我不知道这样做。这是一个正确的想法,如果是,如何完成它?

2 个答案:

答案 0 :(得分:0)

当然,你可以......但是没有必要!您应该对autolayout感兴趣。 以下是关于如何执行此操作的两部分tutorial

当然,您可以将相同的类用于其他Storyboard。这正是您在开发Universal应用程序时所执行的操作。但在这种情况下,您必须在代码中加入一些假设,以确定您是使用4英寸还是3.5英寸屏幕。 预处理器说明对您有帮助

答案 1 :(得分:0)

有很多方法可以实现您的主要目标:

  1. 只有一个故事板项目,其自动布局会自动显示 将屏幕调整为3.5 / 4英寸
  2. 如果您不喜欢自动布局并且视图不复杂,那么“弹簧和支柱”也可以实现自动调整大小。
  3. 您可以在同一个故事板中同时拥有3.5和4英寸视图控制器,使用“self.storyboard instantiateviewcontrollerwithidentifier”访问其中一个
  4. 你可以拥有尽可能多的故事板并做UIStoryboard * storybord = [UIStoryboard storyboardWithName ..
  5. PS:我是选项2的粉丝。当应用程序是通用的时候,通常有两个故事板是值得的,因此你将有一个iPhone和一个用于iPad。