Xcode故事板:为什么iPad的故事板显示iPhone大小的视图?

8 浏览
0 Comments

Xcode故事板:为什么iPad的故事板显示iPhone大小的视图?

我有一个使用故事板的通用应用程序。有一个用于iPhone的故事板和一个用于iPad的故事板。然而,在界面构建器中,iPad故事板的视图控制器仍然被设计为iPhone大小。我该如何让iPad故事板显示iPad大小的视图控制器?

我意识到界面构建器中的视图控制器显示仅限于设计时的装饰,但是使用iPhone大小的视图控制器会使正确布局UI变得非常困难。

0
0 Comments

在Xcode storyboard中,为什么iPad的storyboard显示的是iPhone大小的视图?

这个问题出现的原因是,当你尝试禁用"Use Auto Layout"选项时,弹出窗口会出现。在弹出窗口中,有一个选项是"Keep size class data for: iPhone",默认情况下选择的是iPhone(无论你创建的是iPad还是iPhone项目)。如果你不对此进行注意,你的storyboard会自动转换为iPhone大小的视图。所以,在选择设备时不要忘记选择正确的设备。

下面是一位开发者的解决方法:

"这个解决方法对我有效。"

以上是关于为什么iPad的storyboard显示的是iPhone大小的视图的原因以及解决方法。

0
0 Comments

当你第一次创建一个故事板时,你需要选择一个目标设备(iPhone或iPad)。我不知道在故事板创建之后是否可以更改设备类型。

然而,为了解决你的问题,我建议你按照以下步骤操作:

1.创建一个新的故事板:新建 -> 文件 -> 用户界面 -> 故事板(在选择选项时确保选择设备类型为iPad)。

2.打开旧的故事板,通过按下Command-A,Command-C来选择和复制所有内容。然后打开新的故事板,按下Command-V将所有内容粘贴进去。这样你的视图控制器将会是iPad大小的。

3.最后,你可以删除旧的故事板,并将新的故事板重命名为旧的名字。

奇怪的是,你居然可以复制/粘贴整个故事板。

在我使用的Xcode版本6.2中,我没有看到设备类型选择的选项。

0
0 Comments

Xcode storyboard: 为什么iPad的故事板显示iPhone大小的视图?

在查看故事板源代码后,发现iPad的故事板是从iPhone的故事板复制而来的。因此,问题实际上是如何将iPhone的故事板转换为iPad的故事板?

答案出人意料地简单。我找到了这个stackoverflow回答:要将iPhone的故事板转换为iPad的故事板,请按照以下步骤进行操作:

1. 在Xcode中,右键点击故事板,选择 "Open As" -> "Source code"

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

3. 再次右键点击故事板,选择 "Open As" -> "iOS Storyboard"

然后,故事板中的所有视图将以正确的尺寸显示。

非常感谢,这让我抓狂了。

谢谢Michael!请注意,这也可以在XIB上完成。XIB的XML文件(文档标签)的根元素也有对"targetRuntime"的引用。按照Michael的建议进行操作。

我这样做了,现在只显示iPad预览(iPhone消失了)。有什么办法吗?

你太棒了!谢谢你的回答!

如果你已经将设备更改为iPad,但仍然找不到iPhone,可以在文件属性中打开 "Use Size Classes" 选项,以查看包括iPhone和iPad尺寸在内的所有选项。

令人难以置信,居然还要在2017年进行这样的操作!

在2019年和Xcode 11中,这仍然有效...非常感谢!

还要注意这行代码:<device id="ipad12_9" orientation="landscape" layout="fullscreen" appearance="light"/>,检查一下其中的id="ipad12_9"部分。(适用于Xcode 13.3.1)

0