[英]objective-c : How to move from AppDelegate in Universal app?
我正在开发通用应用程序
imageTracker_iPhone.xib
imageTracker_iPad.xib
imageTracker.h
imageTracker.m
我想从AppDelegate_iPhone移到imageTracker。 我在didFinishLaunchingWithOptions
这样做,但是在我使用此代码之前它不起作用
imageTracker *vRDi = [[imageTracker alloc] initWithNibName:@"imageTracker_iPhone" bundle:nil];
[self.view addSubview:vRDi.view];
但是它给不是结构或联合的成员“视图”提供了错误请求 。 即使代码像
[window addSubview:vRDi.view];
现在该功能如下所示,并且不起作用。 我想从AppDeligate转到imageTracker。 请帮忙
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[window addSubview:imageTracker.view];
[self.window makeKeyAndVisible];
return YES;
}
在这种情况下,它不会移动到imageTracker_iPhone,因为它没有告诉任何要移至该文件的位置,因此想知道如何知道将哪个文件移动到imageTracker_iPhone或imageTracker_iPad。
您可能需要设置委托窗口的rootViewController来激活您的第一个控制器。 (如果您从单个控制器(非故事板模板)创建新的测试应用,则可以在didFinishLaunchingWithOptions:中看到所需的代码类型。)
编辑:实际上,它甚至比这更容易。 如果在创建单个视图控制器项目时指定通用应用程序,它将创建确切的代码以测试哪种设备并加载匹配的.xib文件。 (至少Xcode 4.2。)
您的代码应该是这样的
imageTracker *vRDi;
Bool isiPhone = UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone;
if(isiPhone)
vRDi = [[imageTracker alloc] initWithNibName:@"imageTracker_iPhone";
else
vRDi = [[imageTracker alloc] initWithNibName:@"imageTracker_iPad";
并确保您在xib和文件所有者中的connect view插座均为“ imageTracker”类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.