1

我已经关注了所有关于创建使用 UISplitViewController 并在 iPhone(当然没有它)和 iPad 上运行良好的通用应用程序的帖子。

我的目标设备系列是 => iPhone/iPad iPhone OS 部署 => iPhone OS 3.0 基础 SDK => iPhone 设备 3.2

我的 UIKit.framework 在我的 Target General 中是“weak ref”

在我使用 UISplitViewController *splitViewController; 的地方 我得到了错误。

我知道 iPhone SDK 3.x 没有 UISplitViewController 但 SDK 的基础是 3.2。

我应该使用这样的条件吗?

Class splitVCClass = NSClassFromString(@"UISplitViewController");
if (splitVCClass)
{
UISplitViewController* mySplitViewController = [[splitVCClass alloc] init];
// Configure the split view controller.
}

但是我在这里会遇到与再次使用 UISplitViewController 相同的错误...

谢谢 !

问候,

米。

通用代码:

#import <UIKit/UIKit.h>

@class iPad_RootViewController;
@class iPad_DetailViewController;

@interface AppDelegate_Pad : NSObject <UIApplicationDelegate> {

UIWindow *window;

UISplitViewController *splitViewController;

iPad_RootViewController *rootViewController;
iPad_DetailViewController *detailViewController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UISplitViewController *splitViewController;
@property (nonatomic, retain) IBOutlet iPad_RootViewController *rootViewController;
@property (nonatomic, retain) IBOutlet iPad_DetailViewController *detailViewController;

@end

错误是:

iPad/AppDelegate_Pad.h:18: error: expected specifier-qualifier-list before 'UISplitViewController'

并且 UISplitViewController 是黑色的,就像它没有被标记一样

我也跟着这个:Apple iPad Programming Guide

4

2 回答 2

0

好的,我看到问题只是在模拟器中运行时,因为我被迫编译到 3.x 并且 UISplitViewController 不在这个 SDK 中,所以我必须在它周围添加一堆#ifdef .. .

于 2010-06-25T06:40:36.977 回答
0

Apple 文档为通用应用程序说“iPhone OS 部署 => iPhone OS 3.1.3”。

并且,像这样尝试,

如果(splitVCClass){

id *mySplitViewController = [[splitVCClass alloc] init];

}

于 2010-07-11T21:27:44.403 回答