Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode情节提要:为什么iPad情节提要会显示iPhone大小的视图?_Ios_Xcode_Interface Builder_Storyboard - Fatal编程技术网

Ios Xcode情节提要:为什么iPad情节提要会显示iPhone大小的视图?

Ios Xcode情节提要:为什么iPad情节提要会显示iPhone大小的视图?,ios,xcode,interface-builder,storyboard,Ios,Xcode,Interface Builder,Storyboard,我有一个使用故事板的通用应用程序。有一个iPhone情节提要和一个iPad情节提要。然而,在interface builder中,iPad情节串连板的ViewController的大小仍然适合iPhone。如何让iPad故事板显示iPad大小的视图控制器 我意识到interface builder中的视图控制器显示只是设计时的一种视觉效果,但是拥有iPhone大小的VCs确实很难正确地布局UI 首次创建情节提要时,请选择该情节提要的目标设备系列iPhone或iPad。我不知道在故事板创建之后如何

我有一个使用故事板的通用应用程序。有一个iPhone情节提要和一个iPad情节提要。然而,在interface builder中,iPad情节串连板的ViewController的大小仍然适合iPhone。如何让iPad故事板显示iPad大小的视图控制器


我意识到interface builder中的视图控制器显示只是设计时的一种视觉效果,但是拥有iPhone大小的VCs确实很难正确地布局UI

首次创建情节提要时,请选择该情节提要的目标设备系列iPhone或iPad。我不知道在故事板创建之后如何更改设备系列

但是,为了解决您的问题,我建议您采取以下措施:

通过转到:新建->文件->用户界面->情节提要创建新的情节提要在选择选项时,请确保选择Device Family=iPad

转到旧故事板,按Command-A、Command-C选择并复制所有内容。然后转到,按Command-V粘贴所有内容。您的视图控制器现在将为iPad大小


然后,您可以删除旧的情节提要,并将新的情节提要重命名为旧名称。

在深入研究情节提要源代码后,发现iPad情节提要是从iPhone情节提要复制的。因此,问题真正变成了如何将iPhone情节提要转换为iPad情节提要

答案出人意料地简单。我遇到了—要将iPhone情节提要转换为iPad情节提要,请执行以下操作:

在Xcode中,右键单击情节提要并选择Open As-> 源代码

搜索targetRuntime=iOS.CocoaTouch并将其更改为targetRuntime=iOS.CocoaTouch.iPad

再次右键单击情节提要,然后选择“打开为->iOS情节提要”


故事板现在将以正确的大小显示所有视图。

我使用建议的答案将iPhone故事板转换为iPad故事板,它对我的大多数视图都非常有效。然而,我意识到其中一个视图仍然是iPhone情节提要大小的。原因是我锁定了一个背景图像的所有属性,因为我不想意外地移动它。解除锁定后,视图恢复到iPad大小。这可能会帮助一些人陷入困境。

请确保在“目标”>“常规”中设置了正确的情节提要。这类事情让我头痛了3个小时,才意识到我为iPhone设置了与我的iPad情节提要相同的情节提要。

这个答案不是一个解决方案,但将有助于找到发生这种事情的原因之一

当您尝试禁用以下功能时,会出现此问题:

使用自动布局

取消选中时,将显示弹出窗口。有选择:

保留大小类数据:iPhone,默认情况下,无论您创建了哪个iPad或iPhone项目,都会选中iPhone

如果您不在上面提及,您的故事板将自动转换为iPhone大小


别忘了选择正确的设备。

在我的通用应用程序中,我将SpriteKit用作主viewcontroller。SKScene.scaleMode已设置为aspectFill。在iPad模拟器中运行时,该应用程序启动iPhone模式。解决方案是设置scaleMode=.resizeFill

对于我来说,我发现将视图控制器的显示改为全屏显示比自动显示更容易,我使用的是Xcode 12.1


看起来很奇怪,你居然可以复制/粘贴整个故事板。当我创建一个新的故事板时,我没有选择设备系列。Xcode版本是6.2。我还复制了iPad上的iPhone情节提要,所有视图都工作正常,只有2个文本视图。你能告诉我如何禁用这个锁,或者这个选项在哪里可用,因为我还没有在我的iPhone情节提要上锁定任何东西。非常感谢你。这让我发疯了。谢谢你,迈克尔!注意,这也可以在XIB上完成。XIB xml文档标记的根元素对targetRuntime具有非常相同的引用。按照迈克尔的建议去做。我做了这件事,现在它只显示用于预览iPhone的iPad已经不存在了。知道为什么吗?你太棒了。谢谢你的回答!如果您已经对iPad进行了更改,但仍然找不到iPhone,请在“文件”属性中,启用“使用大小”类以查看所有选项,包括iPhone和iPad大小。酷!!这个是为我做的