Проблема с загрузкой отдельного XIB для iPad или iPhone
Мне трудно понять, как загрузить отдельный XIB для iPad или iPhone в универсальном приложении.
Его достаточно легко преобразовать проект Xcode в Universal и иметь отдельные интерфейсы основного вида.
Моя проблема заключается в вторичном представлении и использовании его для отдельных интерфейсов для iPad и iPhone.
Прошу предложить любую помощь, которую вы можете дать, поскольку я работаю над этой проблемой в течение нескольких дней без успеха. Спасибо заранее!
Ответы
Ответ 1
Я знаю, что ответ @indragie является очень распространенным, но это распространенное недоразумение, которое вызовет у вас гораздо больше работы, чем вам действительно нужно.
Пока вы называете xib файлы определенным образом, они будут автоматически выбраны для iPhone или iPad. Посмотрите мой ответ на эту же проблему в другом сообщении:
iOS: использование модификаторов устройств для загрузки xib файлов?
Ответ 2
Просто добавьте файл с именем MainView ~ ipad.xib, он загрузит этот файл i.s.o. MainView.xib при работе на iPad.
Ответ 3
Вы можете использовать UI_USER_INTERFACE_IDIOM()
, чтобы проверить, работает ли приложение на iPad или iPhone/iPod touch:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// Running on iPad
} else {
// Running on iPhone or iPod touch
}
Для получения дополнительной информации о загрузке файлов NIB, прочитайте Apple Руководство по программированию ресурсов в файлах Nib. Вам может потребоваться специальная проверка Загрузка файлов файлов с файлами Programmatically, которая показывает, как программно загружать NIB из вашего кода с помощью NSBundle
. Затем вы можете использовать это в сочетании с приведенным выше кодом, чтобы правильно загрузить соответствующий NIB в зависимости от того, на каком устройстве вы работаете.