Просто откройте Xcode, создайте новый проект, сделать его Универсальный (IPad/iPhone), и вы увидите пример это. Он создает для вас два .xib-файла. Один для iPad и один для iPhone.
Затем приложение делегат делает это:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil];
} else {
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil];
}
В этом случае, он использует тот же ViewController
класс (ViewController.h и .m) для обоих .xibs. Однако вы тоже можете это изменить. Просто перейдите в каждый .xib в графическом дизайнере Xcode (используется для создания интерфейса), выберите .xib, выберите Владелец файла, а на вкладке Inspector (свойства ... обычно справа) вы можете выбрать Custom Класс из выпадающего списка.
Итак, если вам нужен отдельный подкласс Objective-C UIViewController
для каждого, вы можете это сделать. Не забудьте также изменить код выше, чтобы он соответствовал ([ViewController alloc]
).
Возможный дубликат [Как запустить приложение с указанным UIViewController? а не с первым] (http://stackoverflow.com/questions/6898917/how-to-start-the-app-with-the-uiviewcontroller -специфично-не-во-первых) –