Создание пустого универсального приложения с Xcode 4.3 - PullRequest
0 голосов
/ 02 апреля 2012

В предыдущих версиях Xcode создание универсального приложения на основе окон заполняло проект специальными файлами для iPhone и iPad и назначало соответствующие точки входа. Все, что требовалось, - это модификация контроллеров / сгибов iPhone / iPad для создания интерфейсов, специфичных для устройства.

К сожалению, XCode 4.3 больше не предлагает шаблон на основе окна (пустое приложение - самое близкое), и я не знаю, как правильно настроить точки входа. Это довольно прямолинейно с использованием раскадровки , но я бы хотел сделать это с помощью программных или основанных на XIB рабочих процессов.

Я создал два контроллера представления и xibs: HomeViewController_iPhone и HomeViewController_iPad. Простая установка точки входа для каждого устройства на соответствующий HomeViewController приводит к сбою приложения. Я подозреваю, что мне нужно сделать немного больше для подкласса делегата приложения, но я не совсем уверен, как действовать дальше. Есть указатели?

1 Ответ

2 голосов
/ 02 апреля 2012

Это что-то вроде того, что я делаю, когда использую навигационный контроллер. В зависимости от устройства код загружает правильный XIB. Это входит в didFinishLaunchingWithOptions в AppDelegate.m. navigationController является собственностью AppDelegate.h

UIViewController *rootViewController;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    rootViewController = [[HomeViewController_iPhone alloc] initWithNibName:@"HomeViewController_iPhone" bundle:nil];
}
else {
    rootViewController = [[HomeViewController_iPad alloc] initWithNibName:@"HomeViewController_iPad" bundle:nil];
}

navigationController = [[UINavigationController alloc]
                 initWithRootViewController:rootViewController];

self.window = [[UIWindow alloc] 
               initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
return YES;

Надеюсь, это поможет найти решение!

...