嗨,我有一个为iphone开发的应用程序,但我也需要它在ipad中,指南或迁移的步骤在哪里? 在哪里可以找到ipad应用程序所需图像的分辨率和大小?
答案 0 :(得分:1)
在加载nib时,询问系统运行的设备类型,然后加载相应的nib文件。使用这样的东西:
例如:
DetailController *detailController;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
detailController = [[DetailController alloc] initWithNibName:@"DetailController" bundle:nil];
} else {
detailController = [[DetailController alloc] initWithNibName:@"DetailController-ipad" bundle:nil];
}
您可能还希望在不同的界面习语中对您的详细视图控制器执行不同的操作,例如将视图控制器放在iPhone上的UINavigationController
和iPad上的UISplitViewController
上。 / p>
另一个选择是为iPhone和iPad提供单独的DetailController
实现。您的界面在两个界面习语中可能非常相似,一个DetailController
会更好。或者,对于iPhone和iPad版本的应用,您可能会有明显不同的界面,其中iPhoneDetailController
和iPadDetailController
会更有意义。例如,较小的iPhone屏幕可能需要使用UINavigationController
,但较大的iPad屏幕可以在一个屏幕上包含整个界面。
希望此信息可以帮助您。
答案 1 :(得分:0)
您需要做的第一件事就是让您的应用成为通用应用。为此,请按照以下步骤操作:
只要您执行此操作,就会出现将iPhone故事板复制到iPad的选项,选择复制,这样您就不必为iPad界面创建单独的故事板。 您可以为iPhone和iPad界面使用相同的类,并将按钮连接到iPhone和iPad的相同操作,插座。
对于图像,您需要支持iPad屏幕的图像,并使用~ipad作为图像名称的后缀。 例如对于iPhone myimage.png 对于iPad myimage~ipad.png。
希望这会对你有所帮助。
答案 2 :(得分:0)
如果你想为iphone和ipad使用不同的viewcontrollers,请使用 Irfan 建议的答案,或者如果你想使用相同的viewcontroller (不使用xib和storyboard)而不仅仅是根据设备改变帧...如
if ([deviceModel rangeOfString:@"iPad"].location != NSNotFound)
{
//设置与ipad相关的帧。
} 否则
{
//设置与iphone相关的帧
}
最好对iPhone和iPad使用单一视图控制器。如果你做了与逻辑相关的任何小改动,那么在那个时候可能有机会忘记在另一个ViewController中做这将有所帮助。以及它将会减小尺寸..
答案 3 :(得分:0)
将Build target设置更改为iPhone / iPad或universal作为目标设备。
将运行时代码添加到检查中,例如:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
//your xib file added properly
...
}
处理任何以编程方式创建的UI或绘图差异,选择iPhone与iPad xibs等。
添加适当的午餐图像,图标大小,默认图像等
有用的链接