Обновление цели с iPhone до универсального приложения - PullRequest
3 голосов
/ 13 июня 2011

Сегодня я начал обновлять свое iPhone-приложение до Universal-App.Поэтому я использую Xcode 4 и изменил настройку цели на Universal.Xcode спросил меня, хочу ли я преобразовать MainWindow в iPad-версию, я ответил да и проблемы начались.


Что случилось?

Если я собрал свое приложение, симуляторизменил размер моего iPhone-Nib до ужасной iPad-версии. Я не хотел этого и искал функцию, которая преобразует мой iPhone-Nib в IPAD-Nib .Но я не нашел такой функции и искал ее в Интернете.Кто-то писал, что эта функция была удалена в Xcode 4, и лучшим решением было бы скопировать iPhone-Nib в Finder в iPad-Folder моего проекта.Я сделал это и добавил новый "iPad-Nib" в Xcode, чтобы немного его настроить.Затем я построил свой проект снова и увидел тот же измененный, ужасный iPhone-Nib , как и раньше, поэтому я очистил свою цель и построил ее снова.Теперь симулятор показал мне "iPad-Nib" мне , но некоторые объекты все еще не были на своем месте, но некоторые были ...

Я начал настраивать свое перо для симулятора, теперь мое приложение отлично выглядит в симуляторе и похоже на дерьмо в Xcode.Также мое приложение иногда загружает ужасный, измененный iPhone-Nib .

Что я не так сделал?И есть ли еще возможность создать "iPad-Nib" ?

Ответы [ 2 ]

1 голос
/ 17 июля 2011

Когда вы ответили «ДА», чтобы преобразовать MainWindow в версию для iPad, Xcode взял перо вашего iPhone, скопировал его и настроил «Окно» и «Виды», чтобы иметь соответствующий размер iPad. Вот и все. Теперь вам нужно начать вносить коррективы в свои представления.

Ссылка, опубликованная ferbass, является отличной отправной точкой для начала изучения того, как сделать ваше приложение универсальным. Опубликован целый проект xcode, который вы можете скачать и просмотреть.

Ключевым моментом, который я извлек из этого, было использование UI_USER_INTERFACE_IDIOM (), чтобы определить, на какой платформе в настоящее время работает приложение. Использование этого в контроллерах вида позволит вам соответствующим образом настроить вид.

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // Do iPad related stuff
}
else {
    // Do iPhone related stuff
}
1 голос
/ 15 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...