我有一个使用故事板的通用应用程序。有一个iPhone故事板和一个iPad故事板。但是,在界面构建器中,iPad故事板的视图控制器仍然适合iPhone。如何让iPad故事板显示iPad大小的视图控制器?
我意识到界面构建器中的视图控制器显示只是设计时间的眼睛,但拥有iPhone大小的VC使得很难正确布局UI。
答案 0 :(得分:56)
在对故事板源代码进行一些挖掘之后,事实证明iPad故事板是从iPhone故事板中复制的。那么,真正的问题是如何将iPhone故事板转换为iPad故事板?
答案非常简单。我跑过this SO answer - 将iPhone故事板转换为iPad故事板,执行以下操作:
从Xcode中,右键单击故事板并选择Open As - > 源代码
搜索targetRuntime="iOS.CocoaTouch"
并将其更改为targetRuntime="iOS.CocoaTouch.iPad"
再次右键单击故事板并选择Open As - > iOS故事板
故事板现在将以正确的大小显示所有视图。
答案 1 :(得分:7)
首次创建故事板时,请选择故事板所针对的设备系列(iPhone或iPad)。一旦故事板已经创建,我不知道如何更改设备系列。
但是,为了解决您的问题,我建议如下:
转到:新建 - >>创建新的故事板档案 - >用户界面 - >故事板(选择选项时,请务必选择设备系列= iPad。)
转到旧故事板,按Command-A,Command-C选择并复制所有内容。然后按Command-V转到并粘贴所有内容。您的视图控制器现在将是iPad大小。
然后,您可以删除旧故事板并将新故事板重命名为旧名称。
答案 2 :(得分:3)
这个答案不是解决方案,但有助于了解发生此类事情的原因之一。
尝试禁用时会出现问题:
"使用自动布局"
取消选中后,会出现弹出窗口。有选择:
"保持尺寸等级数据:iPhone" ,默认选择 iPhone (无论您创建的是哪个iPad或iPhone项目)。
如果你不提及,你的故事板将自动转换为 iPhone尺寸。
不要忘记选择正确的设备。
答案 3 :(得分:0)
我使用建议的答案将iPhone故事板转换为iPad故事板,这对我的大多数观点都有用。但是,我意识到其中一个视图仍然是iPhone故事板大小。原因是因为我锁定了一个背景图像的所有属性(因为我不想意外移动它)。移除锁定将视图重新调整为iPad大小。这可能有助于有人坚持这一点。
答案 4 :(得分:0)
确保在Target>中设置正确的Storyboard一般。这种东西让我头疼了3个小时才意识到我为iPhone设置了与我的iPad故事板相同的故事板。
答案 5 :(得分:0)
在Xcode 6.2中更改targetRunTime对我来说不起作用,但是第二种手动复制视图的方法就可以了。
答案 6 :(得分:0)
在我的通用应用程序中,我将SpriteKit用于主viewcontroller。 SKScene.scaleMode
设置为aspectFill
。在iPad模拟器中运行时,该应用程序启动了iPhone模式。解决方法是设置scaleMode = .resizeFill
。
答案 7 :(得分:0)