iPad Запустите изображение в альбомной ориентации, повернутой на 90 градусов против часовой стрелки - PullRequest
2 голосов
/ 25 марта 2012

Я только что добавил образ запуска в приложение, которое написал. Согласно нескольким источникам, это изображение должно быть 1024 x 748 (минус 20 пикселей для строки состояния).

Итак, я создал такое изображение, назвав его Default-Landscape ~ ipad.png и установил эти значения в -Info.plist:

<key>LSRequiresIPhoneOS</key>
<true/>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
    <string>UIInterfaceOrientationLandscapeRight</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
</array>
<key>UILaunchImageFile~ipad</key>
<string>Default-Landscape~ipad.png</string>
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeRight</string>
<key>UILaunchImageFile</key>
<string>Default-Landscape~ipad.png</string>
<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

Я знаю, что там есть UILaunchImageFile и UILaunchImageFile ~ ipad, я также попробовал это сделать только с одним из них.

Что я наблюдаю, так это то, что изображение запуска отображается, но оно поворачивается на 90 градусов против часовой стрелки, масштабируется так, чтобы охватить весь экран (что создает некоторые части, которые не будут видны), а затем обрезается.

Что бы я ни пытался, у меня не получилось правильно отобразить стартовое изображение в альбомной ориентации.

Это приложение, которое я пишу, предназначено только для iPad, но не для универсального приложения, оно для iPad 1 под управлением iOS 5.1. Я использую Xcode 4.3.1.

Что мне нужно сделать, чтобы правильно отобразить стартовое изображение в альбомной ориентации?

EDIT: В MainWindow.xib главное окно находится в портретной ориентации, я думаю, что это, вероятно, влияет на проблему. Я перевел главное окно в портретный режим, так как добавление и удаление подпредставлений было проблемой в ландшафтном режиме. Этот совет я также получил на StackOverflow. Таким образом, реальный вопрос может быть таким: Как мне создать приложение для iPad, которое работает в ландшафтном режиме и в котором я могу добавлять / удалять подпредставления в главном окне?

Спасибо за любые подсказки, Торстен.

Ответы [ 2 ]

1 голос
/ 25 марта 2012

Если вы хотите использовать ключ UILaunchImageFile, чтобы присвоить вашим изображениям имя, отличное от значения по умолчанию, имя будет основанием (первая часть) имени изображения. Вы это: Default-Landscape ~ ipad.png, что означает, что фактическое имя должно быть: Default-Landscape ~ ipad.png-LandscapeLeft.png ... Для ландшафта слева. Вы можете просто использовать соглашение об именах по умолчанию:

Default-Landscape.png
Default-Portrait.png
Default-LandscapeLeft.png
Default-LandscapeRight.png
Default-PortraitUpsideDown.png

и не используйте ключ UILaunchImageFile, или, если вы хотите использовать его, назовите его примерно так: IpadLaunchImage, под ключом UILaunchImageFile ~ ipad, затем:

<key>UILaunchImageFile~ipad</key>
<string>IpadLaunchImage</string>
IpadLaunchImage-Landscape.png
IpadLaunchImage-Portrait.png
IpadLaunchImage-LandscapeLeft.png
IpadLaunchImage-LandscapeRight.png
IpadLaunchImage-PortraitUpsideDown.png

Затем создайте еще один ключ для iPhone таким же образом, но с ключом iphone UILaunchImageFile ~ и другим именем, например: IphoneLaunchImage.

Также прямо из документа Apple:

Независимо от того, какое изображение запуска отображается системой, ваше приложение всегда запускается в портретной ориентации, а затем вращается по мере необходимости для правильной ориентации.

Вот ссылка: http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html

0 голосов
/ 25 марта 2012

Две вещи:

  1. Вам не нужно удалять 20 пикселей для верхней панели, iOS сделает это за вас.
  2. Откройте ваше изображение запуска в режиме предварительного просмотра, используйтеcmd-r чтобы повернуть на 90˚ и сохранить.Попробуйте снова запустить через Xcode.
...