2011-08-10 47 views
3

我有一个iPhone应用程序与 FirstViewControllerSecondViewController与各自的看法FirstView.xibSecondView.xib将iPhone应用程序转换为通用应用程序?

现在我想让这个应用程序与iPhone和iPad兼容。对于iPad,我需要将Firstview.xibSecondView.xib合并成一个单独的ThirdView-iPad.xib

什么是最好的方法?我需要为iPad编写另一个ViewController类,还是可以使用现有的FirstViewControllerSecondViewController单个xib?

到目前为止,我的研究表明,没有办法在单个xib中使用多个ViewController。请让我知道做到这一点的最佳方式。

感谢

回答

3

你最好的,除非你到受虐狂只是创建一个新的视图控制器。以这种方式重用会很麻烦,如果您需要在ViewController中重新使用逻辑,我会使用聚合或继承。

我通常会创建一个基本ViewController,比如XYZViewController,然后创建一个XYZViewController_iPhone与所有iPhone特价和一个单独的XYZViewController_iPad为iPad。但是,如果他们完全不同,我给他们独特的名字和他们自己的NIB以及ViewControllers。

5

如果你正在使用Xcode4可以用“过渡到普遍的目标”,它会做一切需要

http://xcodebook.com/2011/05/making-an-ios-target-universal/

,如果你没有它那么我建议保持控制器出你的厦门国际银行的。 xib文件将仅包含iphone和ipad的视图,但控制器“可以”是相同的。你可以从rootviewcontroller控制你的逻辑,只是一个想法..这一切都取决于你的项目。

+0

谢谢...我的问题是,我有两个iPhone的看法合并成一个iPad上查看。在这种情况下,可以使用相同的控制器吗?如果是,如何? – Atif

+0

@Atif它意味着会有完全不同的意见,所以你可以使用另一个控制器。我建议你先创建一个通用项目并尝试部署你的应用程序,你会看到你的可能性和你需要做的更好。仍然可以使用第一个“向通用目标过渡” – Spring

1

存在有下列规则转换的iPhone应用程序,应用了通用

1)在plist文件添加NSMainNibFile〜ipad的.... MainWindow_ipad(新iPad窗口)。

2)中设定为(iphone/ipad的) 目标靶向器件系列实现单独的名称Xibs(iPhone &的ipad)

3)和设置的帧。根据到ipad & iphone 例如

if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad) {

btnHme。frame = CGRectMake(971,6,32,32); // ipad的

} 别的 {

btnHme.frame = CGRectMake(438,6,32,32); // iphone

}

欢呼

相关问题