0

我创建了一个外观精美的 ipad 应用程序,它可以填满屏幕并且运行良好。但是,我希望它在设计方面也能在 iphone 上工作。我可以在 iphone 上使用它,但所有的图形和所有东西都是超大尺寸的。

我不想重新创建所有图像和图形,然后创建一个新的样式表。如果我必须,那么我会,但有更好的方法吗?

也许下一次只是为 iphone 构建并让他们“2x”吗?

任何输入都会很棒!谢谢。

4

2 回答 2

2

在应用程序的摘要选项中,只需将设备选项标记为通用,然后为 iPad 和 iPhone 使用相同的故事板和相同的图像,如果您不喜欢某些图像在 iPhone 或 iPad 中的外观,您可以检测到这样的设备:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
 // is iPad change some image or some item.
}else{
//is iPhone change some image or some item. 
}

我希望这可以帮助你。

于 2013-07-18T22:03:41.890 回答
0

您不必重新创建许多图形。您应该能够将几乎所有这些设置为自动调整其视图的范围。我认为,在大多数情况下,这是默认行为。您将不得不在 xibs 或代码中处理调整视图的大小。

Moises 的回答涵盖了代码案例。

UI_USER_INTERFACE_IDIOM() 方法等价于 [[UIDevice currentDevice] userInterfaceIdiom],它可以为您节省一些输入。

处理 xib 的最简单方法是复制文件。(您也可以尝试使用 xibs 中的自动调整大小工具,但它们不会为您提供非常细粒度的控制)。

创建 iPhone xib 的最简单方法(我知道):

  • 在 Finder 中找到您的项目文件夹
  • 对于每个 xib:右键单击 -> 复制(由于某种原因,您不能在 Xcode 中执行此操作)
  • 在每个新文件名的末尾用“~iphone.xib”替换“copy.xib”(区分大小写的“~iPhone”不起作用。)
  • 打开 Xcode 并将文件添加到您的项目中
  • 调整大小以在 iPhone 上看起来不错。请记住,视图的新宽度应为 320(除非您希望 iPhone 视图能够旋转,在这种情况下,考虑到 iPhone 的两种不同屏幕尺寸,这要困难得多。)

这会照顾到它。您的所有 IBOutlets 等都应该通过复制过程自然保存。

如果您只需调整外观即可将应用程序从 iPad 转移到 iPhone,那么您将获得更大的力量。我们不得不减少我们在很多页面上显示的内容量并添加一些新视图,否则通常会在我正在处理的项目中调整应用程序的流程。

于 2013-07-18T23:30:16.007 回答