Я в процессе преобразования приложения для iPhone в универсальное приложение.
- Я изменил все настройки xCode и добавил новый MainWindow-iPad.xib
- Я подключил все ссылки на конструктор интерфейса (например, MainWindow-iPad к соответствующему классу ViewController iPad, окну и т. Д.)
- # P2 #
# P3 #
в делегате приложения я проверяю, на каком устройстве я работаю, и загружаю соответствующий класс:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { // Override point for customization after application launch. navController = [[UINavigationController alloc] initWithRootViewController:viewControlleriPad]; // Add the view controller's view to the window and display. [windowiPad addSubview:navController.view]; [windowiPad makeKeyAndVisible]; [navController setNavigationBarHidden:YES animated:NO]; } else { //I am an iPhone! // Override point for customization after application launch. navController = [[UINavigationController alloc] initWithRootViewController:viewController]; // Add the view controller's view to the window and display. [window addSubview:navController.view]; [window makeKeyAndVisible]; [navController setNavigationBarHidden:YES animated:NO]; }
И все, кажется, работает нормально, за исключением того, что он по-прежнему загружает файл пера iPhone / xib AppViewController.xib вместо AppViewControlleriPad.xib. Вы можете запросить дополнительную информацию, но я не могу понять, как заставить его загружать AppViewControlleriPad.xib при запуске iPad, а не iPhone / исходный файл xib.
Я думал, возможно, наивно, что если файл xib имеет то же имя, что и класс контроллера представления, то ViewController будет использовать его в качестве своего xib.
Как я могу исправить это так, чтобы правильный xib загружался для правильного устройства?