如何在一个通用版本中为iPhone + iPad提供单独的类?

时间:2010-10-10 20:45:00

标签: iphone ipad

问题:在我的iPhone应用程序代码中,我正在以编程方式定位和动画大量视图。对于iPad,我想提供一个完全不同的用户界面,但也需要以编程方式提供。我不喜欢使用Xib文件。我如何制作不同的视图并查看控制器并加载这些视图取决于它是iPad还是iPhone?什么是最干净的方式?

2 个答案:

答案 0 :(得分:2)

您只需指定设备标识符,即可通过添加字符串“~iphone”或“~ipad”来实现。因此,对于视图控制器,这将是; “MyViewController~iphone.m”和iPad“MyViewController~ipad.m”

答案 1 :(得分:1)

此外,如果您遇到编译问题,因为您以编程方式创建仅适用于iOS 3.2及更高版本的类,则可以使用以下代码:

Class popClass = NSClassFromString(@"UIPopoverController");
if(popClass) {
    id infoPop = [[popClass alloc] initWithContentViewController:popViewController];
    [infoPop presentPopoverFromRect:CGRectMake(20, 70, 10, 10) inView:self.view permittedArrowDirections:4 animated:YES];
}