[英]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.