Добавление iPad XIB/VIEW в приложение на основе представления в iOS 4

Я создал приложение на основе представлений в XCode4 и пытаюсь сделать код и дизайн пользовательского интерфейса в соответствии с тем, как это задумала Apple.

Поэтому я разработал пользовательский интерфейс в файле AppNameViewController.xib, и он отлично работает; теперь я хочу включить его как УНИВЕРСАЛЬНОЕ приложение, которое также работает на iPad. Я изменил App-Target>>Summary>>Devices с iPhone на Universal, и чудесным образом 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 или есть способ легко преобразовать iPhone xib в iPad?


person Ohad Regev    schedule 27.06.2011    source источник
comment
Я запутался - над кодом похоже, что вам нужна помощь, чтобы выяснить, какой наконечник загрузить. Под кодом кажется, что вы спрашиваете, как вы разрабатываете пользовательский интерфейс iPad. Пожалуйста, уточните, в чем заключается ваш вопрос.   -  person RyanR    schedule 27.06.2011
comment
RyanR, я создал приложение на основе просмотра и выбрал iPhone в семействе устройств. Я разработал пользовательский интерфейс в файле xib. Теперь я хочу добавить iPad xib, но я не знаю, как направить приложение на него.   -  person Ohad Regev    schedule 29.06.2011
comment
Вам потребуется перенести приложение в универсальное приложение.   -  person RyanR    schedule 05.07.2011


Ответы (1)


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

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

person RyanR    schedule 27.06.2011