iOS Universal App - доступ к различным перьям для iPad и iPhone
Я пишу свое первое универсальное приложение, я преобразовал свои перья, чтобы были версии для iPad и iPhone.
Версия для iPad находится в папке Resources-iPad и называется "InfoViewController-iPad.xib". Версия iPhone в главной папке и называется "InfoViewController.xib"
У меня есть следующее действие, чтобы показать соответствующий XIB
-(void) touchesBegan: (NSSet *) touches withEvent: (UIEvent *) event {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
infoViewController = [[InfoViewController alloc] initWithNibName:@"Resources-iPad/InfoViewController-iPad" bundle:nil];
}
else
{
infoViewController = [[InfoViewController alloc] initWithNibName:@"InfoViewController" bundle:nil];
}
infoViewController.delegate = self;
infoViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:infoViewController animated:YES];
[infoViewController release];
}
Когда он работает на iPhone, он работает нормально, но вылетает при запуске на iPad. Любая помощь будет по достоинству оценена
2 ответа
Вам не нужно указывать имя папки в имени пера для версии iPad, оно будет найдено при условии, что оно имеет имя, отличное от версии для iPhone.
Если удаление папки из initWithNibName не работает для вас, отредактируйте ваш вопрос и опубликуйте результаты обратной трассировки из консоли.
Вам не нужно Resources-iPad/
префикс на имя перо iPad. iOS знает, как найти ресурсы в вашем комплекте. Иерархия папок, которую вы видите в XCode, просто для организации файлов и для выгоды разработчика.