Я унаследовал приложение iOS, которое было создано до iOS 6. На данный момент он не работает для iOS 8. Моя цель - заставить текущее приложение работать в текущем состоянии в iOS 8, затем писать совершенно новая версия приложения, приносящая ее в современную эпоху.iOS 8 Lock Orientation
Я немного новичок в Objective-C, поэтому я работаю над каждым исправлением, когда я иду. Основная проблема, с которой я столкнулась с приложением в его текущем состоянии, заключается в том, что главный контроллер просмотра находится в режиме «портрет» на открытом. Все приложение должно быть заблокировано вправо, но когда вы его открываете, он начинается с портрета. Если вы нажмете на кнопку «домой» и снова откроете приложение, то в правом ландшафте.
В Info.plist ландшафтное право является единственной поддерживаемой ориентацией. Кроме того, я запер контроллер представления в ландшафтном вправо, используя следующий код:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscapeRight;
}
Ни один из этих исправлений не получил контроллер представления, чтобы открыть в альбомном праве, однако.
Любые идеи о том, как открыть контроллер вида для открытия в ландшафтном режиме?
Приложение настолько старое, что у него нет настройки UINavigationController. Нужно ли устанавливать ориентацию? Любая помощь или советы приветствуются.
EDIT: Вот мой info.plist файл:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>VersePack</string>
<key>CFBundleIconFile</key>
<string>Icon.png</string>
<key>CFBundleIdentifier</key>
<string>com.TiBrew.versePack</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.2.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSMainNibFile</key>
<string>MainWindow</string>
<key>NSMainNibFile~ipad</key>
<string>MainWindow-iPad</string>
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeRight</string>
<key>UIStatusBarHidden</key>
<false/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~iphone</key>
<array>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
Спасибо за помощь! Это приложение для iPhone. У меня было ощущение, что я делаю это более сложным, чем это должно было быть. Я попробую ваш ответ и посмотрю, позаботится ли он об этом. –
Я удалил все ссылки на ориентацию в контроллерах вида, и в делегате приложения нет свойств ориентации. Затем я убедился, что для всех поддерживаемых интерфейсов интерфейса info.plist установлено значение «Пейзаж (правая кнопка дома)». Однако при открытии приложения главный диспетчер просмотра все еще открывается в портрете. Я не могу найти причину, почему это связано с тем, что приложение настроено только для поддержки ландшафта. Есть еще мысли? –
Не могли бы вы загрузить свой info.plist, пожалуйста? – David