Подтвердить что ты не робот

Проблема с загрузкой отдельного XIB для iPad или iPhone

Мне трудно понять, как загрузить отдельный XIB для iPad или iPhone в универсальном приложении.

Его достаточно легко преобразовать проект Xcode в Universal и иметь отдельные интерфейсы основного вида.

Моя проблема заключается в вторичном представлении и использовании его для отдельных интерфейсов для iPad и iPhone.

Прошу предложить любую помощь, которую вы можете дать, поскольку я работаю над этой проблемой в течение нескольких дней без успеха. Спасибо заранее!

4b9b3361

Ответ 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 в зависимости от того, на каком устройстве вы работаете.