Задача-c: Как перейти от AppDelegate в приложении Universal? - PullRequest
0 голосов
/ 03 апреля 2012

Я занимаюсь разработкой универсального приложения, в котором у меня есть

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]; 

но выдал ошибку запрос на член '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.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

ваш код должен выглядеть примерно так:

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 и в качестве владельца файла относится к классу "imageTracker".

0 голосов
/ 03 апреля 2012

Возможно, вы захотите установить rootViewController окна делегата, чтобы сделать ваш первый контроллер активным.(Если вы создаете новое тестовое приложение из одного контроллера, не являющегося шаблоном для раскадровки, вы можете увидеть, какой код необходим в didFinishLaunchingWithOptions:.)

Редактировать: на самом деле, это даже проще, чем это.Если вы задаете универсальное приложение при создании проекта контроллера с одним представлением, оно создает точный код для проверки, какое устройство и загружает соответствующий файл .xib.(Xcode 4.2, как минимум.)

...