2016-12-27 3 views
1

Я пытаюсь использовать UILaunchImages, чтобы обеспечить различные изображения для LandScapeLeft и LandScapeRight Ориентация, но только один из них становится травление, может кто-нибудь, пожалуйста, указать точное именования UILaunchImages для LandScapeLeft и LandScapeRight Ориентация, я ищу, чтобы предоставить эти изображения для iPhone, iOS8 и выше.iPhone заставка с LandscapeLeft и LandscapeRight ориентации

именно я ищу точный размер запуск изображений с правильным именованием для iOS8 года, есть старый Пост, которые предоставляют подробную информацию о UILaunchImages, но я вижу, что в Apple Human Interface Guideline размере изображения было обновлен для самого последнего обновление iOS

Я ищу, чтобы достичь ландшафтного заставки с помощью UILaunchImages Only.

В info.plist я установил поддерживаемую ориентацию только как LandscapeLeft и LandscapeRight.

Я испытал это на iPhone 5с и iPhone 6 плюс

enter image description here

Согласно яблочного документации

Именование Ваш Launch Image Files

Название каждого запуска изображения передает свою цель и как он используется. Рекомендуется использовать следующий формат для имен файлов запуска изображения:

«usage_specific_modifiers.png-базовое»

Часть имени файла является строкой, которая указывается с помощью ключа UILaunchImageFile. (Если вы не укажете ключ, iOS использует строку Default для имени образа запуска.) К базовому имени вы можете добавить несколько различных типов модификаторов:

Модификатор изображения с высоким разрешением - используйте модификатор @ 2x для идентификации изображений, предназначенных для дисплеев Retina.

Модификаторы, специфичные для платформы. Используйте модификаторы ~ iphone или ~ ipad, чтобы указать изображения, предназначенные для определенного размера устройства.

Модификаторы, ориентированные на конкретную ориентацию. Используйте строки - Landscape, -Portrait, -LandscapeLeft, -LandscapeRight или -PortraitUpsideDown, чтобы указать изображения запуска, когда устройство находится в определенной ориентации. Более специфические модификаторы ориентации имеют преимущество перед менее специфическими модификаторами ориентации. Например, изображение с модификатором -LandscapeLeft имеет приоритет над изображением с модификатором -Landscape, когда устройство находится в правильной ориентации.

Модификатор iPhone 5 - используйте строку -568h, чтобы указать изображение запуска, предназначенное для устройств с экраном на 568 точек. Поскольку такие устройства также имеют дисплеи Retina, вы также должны включить модификатор @ 2x в имени изображения.

Модификаторы URL-схемы. Укажите название настраиваемой схемы URL вашего приложения в именах изображений запуска, если вы хотите, чтобы эти изображения запуска отображались при запуске вашего приложения, чтобы открыть URL-адрес указанного типа. Формат модификатора схемы - это имя вашего пользовательского схемы. Например, если ваше приложение открывает URL-адреса формы myscheme: //example.com, вы должны включить -myscheme в именах изображений запуска.

+0

ли параметр изображения в LaunchScreen раскадровку? Добавьте здесь код. – KAR

+0

Нет, я не использую раскадровку LaunchScreen –

+0

См. Мой ответ здесь. – KAR

ответ

-1

Попробуйте для определения ориентации устройства,

UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 

if(orientation == 0) //Default orientation 
    //Your image for this Orientation 
else if(orientation == UIInterfaceOrientationPortrait) 
    //Set image if the orientation is in Portrait 
else if(orientation == UIInterfaceOrientationLandscapeLeft) 
    // Set image if Left 

else if(orientation == UIInterfaceOrientationLandscapeRight) 
    //Set image if right 

Для более эталонного визита this link

+0

Я ищу, чтобы сделать это с помощью UILaunchImages Only, в info.plist я установил поддерживаемую ориентацию как LandscapeLeft и LandscapeRight –

0

Вы говорите:

Согласно яблочной документации именования Launch Image Files, имени каждого изображения запуска передает свою цель и то, как она используется

Но вы не понимаете, что этот документ очень старый и что соглашение об именах соблюдается только в том случае, если вы используете запись с одним запуском изображения в файле Info.plist. Это не то, что вы делаете. Вы используете Launch Images массив в своем Info.plist. Поэтому имена ваших изображений запуска совершенно произвольны; только UILaunchImageOrientation каждого изображения запуска в массиве сообщает системе, что использовать во время запуска. Фактически, в этом случае вы должны не использовать соглашения об именах из этого более раннего документа.

Вы хотите прочитать этот документ:

https://developer.apple.com/library/content/technotes/tn2244/_index.html

И это одна:

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW28

Примечание, в частности, в предложении:

задаваемое имя для этого ключа [т.е. UILaunchImageName] должны не включать в себя расширение имени файла, и не должно включать модификаторы, такие как @2x, -568h, ~iphone или ~ipad.

[выделено мной.]

+0

В соответствии с документацией должно быть указано одно изображение запуска, которое я делаю, показанный на снимке экрана, мое имя образа запуска - splashpt, и массив UILaunchImages должен быть предоставлен для разных размеров экрана, и я имею в виду последнюю документацию по яблоку онлайн –

+0

Что бы ни случилось. Я думаю, что вы делаете глупо; вы должны использовать одну раскадровку для ракеты-носителя, и пусть это будет продолжаться. Однако я согласен с ответом. – matt

+0

Я использовал образец из яблока для ссылки, чтобы предоставить UILaunchImageName https: // разработчик.apple.com/library/content/samplecode/Icons/Introduction/Intro.html, может быть, этот образец является старым, однако я удалил модификаторы в конце, чтобы проверить, работает ли он, и с помощью опции раскадровки ракеты для запуска меня –

Смежные вопросы