我从头开始使我的应用程序在 iPhone 和 iPad 上通用(基于窗口的应用程序;通用)。首先,我为 iPhone 制作了所有的逻辑和视图,并且它起作用了。之后,我为 iPad 创建了视图。那行得通。但是当我实现 UISplitViewController 或 UIPopover 时,应用程序将不再为 iPhone 构建。
我这样称呼我的自定义 splitViewController:
MySplitViewController *mySplitViewController = [[MySplitViewController" alloc] init];
类定义如下所示:@interface MySplitViewController : UISplitViewController { }
在构建(对于 iPhone 3.1.3)它给了我这个错误:
找不到“UISplitViewController”的接口声明,“MySplitViewController”的超类
当然,SDK 3.1.3 不包含 SDK 3.2 的所有新功能。这很清楚。所以我尝试像这样创建我的类的实例:
MySplitViewController *mySplitViewController = [[NSClassFromString(@"MySplitViewController") alloc] init];
它仍然给我同样的错误。
我也尝试过弱链接框架,但这都没有帮助。
我还尝试过将创建类的实例包装在括号中,如下所示:
Class cls = NSClassFromString(@"UIPopoverController");
if (cls != nil) {
MySplitViewController *mySplitViewController = [[NSClassFromString(@"MySplitViewController") alloc] init];
}
有人可以告诉我如何调用特定的类,以便我可以在两个平台上运行我的应用程序吗?
谢谢