我为iPhone制作了一个应用程序,现在我想让它能够在iPad上全屏运行。
该应用程序大40MB,并显示存储在捆绑中的许多图像。它们的大小适合iPhone屏幕。管理这个的最佳方法是什么?
如果我为iPad添加更大的图像,该应用程序将非常大。我可以为iPad内容创建一个源文件夹,为iPhone内容创建一个源文件夹,然后在客户购买应用程序时下载正确的文件夹吗?我对这一切感到困惑,我的搜索没有任何结果。
我还读到我可以为iPhone和iPad故事板场景使用相同的类(.h / .m)。那么iPad的代码怎么样呢,如何管理呢?这会是什么样的代码?我对此感到困惑,一些指导会很棒。
我使用Xcode 4和故事板,应用程序是非常基本的,只有一些UITableViews和UIViews带有按钮,文本字段,图像和标签以及一些动作表,这几乎就是它......以及管理数据的.plist。
到目前为止,我刚刚将目标更改为“Universal”并为iPad添加了故事板文件,并在开始之前等待一些基本指导。希望你了解我的问题。谢谢。 : - )
答案 0 :(得分:3)
如果我为iPad添加更大的图像,该应用程序将非常大
虽然它可以管理,但你可以在捆绑包中包含两个设备的所有图像,只需尝试尽可能地压缩它们而不会扭曲它们。
注意:减少应用程序消耗的存储量的一个非常好的策略是尽可能平铺背景图像...尤其是在iPad Retina上。
那么iPad的代码如何管理呢? 这个?这会是什么样的代码?我有点困惑 这个,一些指导会很棒。
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
//do something for iPad
}else{
//do something for iPhone/iPod Touch
}
这是您可以分离只应运行特定设备类型的代码的方法。您不必在所有内容上使用它,或多或少只是与对象的尺寸或只能在特定设备上使用的对象有关(例如:UIPopOverController
)。
两个用户界面习语是:UIUserInterfaceIdiomPad
& UIUserInterfaceIdiomPhone
此外,这是您应该使用的图像命名方案:
如果所有这些图像都被正确命名,这将大大简化您在应用中使用图像的方式。
UIImage *myImage = [UIImage imageNamed:@"ImageName"];
只需使用“ImageName”iOS将自动使用正确的图像,具体取决于设备类型和分辨率。