0

我正在将Xcode 6.1 与 OS X Yosemite 一起使用,我遇到了与 Storyboard 相关的问题。情节提要在 iPad mini 上的行为类似于 iPhone,但在 iPad2 上按预期工作,此问题仅在带有 systemVersion 3.0 的情节提要上出现,但在其较低版本(如 2.0 版)上不存在。

下面是我的iPad mini截图(我不希望情节提要像这样在此处输入图像描述

这是我的iPad2 9.7英寸(我也希望 iPad mini 有这种行为在此处输入图像描述

只想为 iPad制作这个应用程序,所以我的项目配置是这样的 在此处输入图像描述

但是当我将它的配置 Device iPad 更改为 Universal 时,它在 iPad mini 和 iPad2 中都可以正常工作。但我不想在 iPhone 上部署。

在此处输入图像描述

这是我的Storyboard systemVersion 3.0 作为查看的源代码 在此处输入图像描述

并且当我将情节提要的 XML systemVersion 更改为 2.0 并将 targetRuntime 更改为 iOS.CocoaTouch.iPad 时,它在 iPad mini 和 iPad2 中再次按预期工作,但是当我在情节提要中进行一些小的更改(例如移动一个像素)时,又会出现问题标签或按钮或任何对象Xcode 会将其 systemVersion 更新回 3.0 并将 targetRuntime 更新为 iOS.CocoaTouch这将导致情节提要再次像 iPad mini 上的 iPhone 一样工作。 在此处输入图像描述

我也没有通过互联网和我自己找到任何解决方案。

4

2 回答 2

1

You can use Size Classes with iOS versions earlier than iOS 8. The Apple documentation states:

Deploying an App With Size Classes on Earlier iOS Versions

For apps supporting versions of iOS earlier than iOS 8, most size classes are backward compatible.

Size classes are backward compatible when:

  • The app is built using Xcode version 6 or later
  • The deployment target of the app is earlier than iOS 8
  • Size classes are specified in a storyboard or xib
  • The value of the height component is not compact

Storyboard XML content shouldn't be edited directly. That isn't going to solve any of your problems in a reliable fashion, particularly not if you start altering version numbering so that the actual generated storyboard content is a different version to what it appears to be from the header.

It sounds like what you've encountered may be a bug in the way size classes are converted to be backwards compatible, though what is missing from your question to give more information is how you've actually configured your size classes.

于 2014-11-21T21:55:09.457 回答
-1

你不能在 iOS7 中使用尺寸等级,因为尺寸等级的概念是在 iOS 8 中引入的。所以从情节提要中删除这个尺寸等级对你有用。

于 2014-11-20T10:00:41.977 回答