Добавление iPad XIB / VIEW в приложение «Просмотр на основе» в iOS 4 - PullRequest
0 голосов
/ 27 июня 2011

Я создал View Based Application в XCode4 и пытаюсь сделать код и дизайн пользовательского интерфейса в соответствии с намерениями Apple.

Итак, я разработал пользовательский интерфейс в AppNameViewController.xib , и он отлично работает;теперь я хочу включить его как приложение UNIVERSAL , которое также работает на iPad.Я изменил App-Target >> Сводка >> Устройства с iPhone на Универсальный и чудесным образом XCode автоматически создал MainWindow-iPad.xib (Apple, очень приятно ...), но поскольку я спроектировал первый экран приложения на AppNameViewController.xib , а не на MainWindow.xib , когда я запускаю приложение на iPad Simulator Я получаю этот уродливый экран, на котором искажается размер и местоположение объектов пользовательского интерфейса (их размер все еще задан для iPhone, поэтому все они крошатся в левом верхнем углу экрана).

В моем предыдущем приложении я использовал код, показанный ниже, чтобы различать AppNameViewControllerForIPHONE.xib и AppNameViewControllerForIPAD.xib ;Это было сделано из файла AppDelegate.m , но в новом шаблоне XCode View Based Application AppDelegate вообще не проходит через метод initWithNibName .

Код, который я использовал в XCode 3, который нельзя использовать в XCode 4:


if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

viewController = [[AppViewController alloc] initWithNibName:@"AppViewControllerIPAD" bundle:[NSBundle mainBundle]];

}

else {

viewController = [[AppViewController alloc] initWithNibName:@"AppViewControllerIPHONE" bundle:[NSBundle mainBundle]];

}

Длинный вопрос ... тем не менее, у кого-то были какие-либо идеи, как это сделатьВот?Где я должен разработать дизайн интерфейса iPad или есть способ легко преобразовать xib iPhone в iPad?

1 Ответ

0 голосов
/ 27 июня 2011

Вы должны следовать новой схеме именования (идиома в Apple-говорит), заданной для Универсальные приложения для клавиши NSMainNibFile в вашем info.plist. Например, если вы установите NSMainNibFile в «MainWindow-iPhone», xib для ipad будет «MainWindow-iPad».

То же соглашение об именах должно соблюдаться для представлений в приложении на основе представлений (я не могу сейчас тестировать, устанавливая новый xcode).

...