将iPhone应用程序转换为通用应用程序?
我有一个iPhone应用程序将iPhone应用程序转换为通用应用程序?,iphone,ipad,universal,Iphone,Ipad,Universal,我有一个iPhone应用程序 FirstViewController和SecondViewControllerFirstView.xib和SecondView.xib
FirstViewController
和SecondViewController
FirstView.xib
和SecondView.xib
<
现在我想让这个应用程序同时适用于iPhone和iPad。对于iPad,我需要将Firstview.xib
和SecondView.xib
合并为一个ThirdView iPad.xib
最好的方法是什么?我是否需要为iPad编写另一个ViewController类,或者我是否可以将现有的第一个ViewController
和第二个ViewController
与单个xib一起使用
到目前为止,我的研究表明,没有办法将多个ViewController与单个xib一起使用。请让我知道最好的方法
谢谢除非你是受虐狂,否则最好只创建一个新的ViewController。以这种方式重用很可能会有很多麻烦,如果需要重用ViewController中的逻辑,我会选择聚合或继承
我通常会创建一个基本的ViewController,比如说XYZViewController
,然后创建一个带有所有iPhone特殊功能的XYZViewController\u iPhone
,并为iPad创建一个单独的XYZViewController\u iPad
。但是如果它们完全不同,我会给它们唯一的名称和它们自己的NIB以及ViewController。如果您使用的是Xcode4,您可以使用“transition to universal target”,它可以完成所有需要的操作
如果您没有,那么我建议将控制器置于xib之外。xib文件将只包含iphone和ipad的视图,但控制器“可以”相同。您可以从rootviewcontroller控制您的逻辑,这只是一个想法。这取决于您的项目。将Iphone应用程序转换为Univarsal应用程序有以下规则
1) 在Plist文件中添加NSMainNibFile~ipad。。。。主窗口\ ipad(ipad窗口)
2) 实现单独的名称Xibs(Iphone和ipad)
3) 在目标设备系列中设置为(iphone/ipad)
并根据Ipad和iphone设置框架
比如说
if(UI\u USER\u INTERFACE\u IDIOM()==UIUserInterfaceIdiomPad)
{
frame=CGRectMake(971,6,32,32);//ipad
}
其他的
{
frame=CGRectMake(438,6,32,32);//iphone
}
干杯谢谢。。。我的问题是,我必须将两个iPhone视图合并到一个iPad视图中。在这种情况下,是否可以使用相同的控制器?如果是,怎么做?@Atif这意味着将有完全不同的视图,因此您可以使用另一个控制器。我建议您首先创建一个通用项目,并尝试部署您的应用程序,您将看到您的可能性以及需要做得更好的地方。您仍然可以使用第一个“过渡到通用目标”