我创建了一个外观精美的 ipad 应用程序,它可以填满屏幕并且运行良好。但是,我希望它在设计方面也能在 iphone 上工作。我可以在 iphone 上使用它,但所有的图形和所有东西都是超大尺寸的。
我不想重新创建所有图像和图形,然后创建一个新的样式表。如果我必须,那么我会,但有更好的方法吗?
也许下一次只是为 iphone 构建并让他们“2x”吗?
任何输入都会很棒!谢谢。
在应用程序的摘要选项中,只需将设备选项标记为通用,然后为 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.
}
我希望这可以帮助你。
您不必重新创建许多图形。您应该能够将几乎所有这些设置为自动调整其视图的范围。我认为,在大多数情况下,这是默认行为。您将不得不在 xibs 或代码中处理调整视图的大小。
Moises 的回答涵盖了代码案例。
UI_USER_INTERFACE_IDIOM() 方法等价于 [[UIDevice currentDevice] userInterfaceIdiom],它可以为您节省一些输入。
处理 xib 的最简单方法是复制文件。(您也可以尝试使用 xibs 中的自动调整大小工具,但它们不会为您提供非常细粒度的控制)。
创建 iPhone xib 的最简单方法(我知道):
这会照顾到它。您的所有 IBOutlets 等都应该通过复制过程自然保存。
如果您只需调整外观即可将应用程序从 iPad 转移到 iPhone,那么您将获得更大的力量。我们不得不减少我们在很多页面上显示的内容量并添加一些新视图,否则通常会在我正在处理的项目中调整应用程序的流程。