Не удалось запустить приложение в полноэкранном режиме на iPhone 6.0. Симулятор Retina 4 дюйма
Я добавил в свой проект [email protected] и установил его в настройках проекта, я также установил параметры автоустановки для моего представления и элементов на этом который первоначально загружается в мое приложение, которое является только ландшафтом, но после запуска моего приложения в iOS 6.0 Simulator Retina 4 дюйма я вижу, что мое приложение полностью перемещено, оставляя область черного пикселя справа.
Любая идея, что я должен делать рядом с этими вещами, чтобы увидеть, как мое приложение запускается в полноэкранном режиме на iOS 6.0 Simulator Retina 4 дюйма?
[edit # 1: AppDelegate]
Я также редактировал свой AppDelegate.m следующим образом:
viewControllerMain = [[ViewControllerMain alloc] init];
//[window addSubview:viewControllerMain.view];
window.rootViewController = viewControllerMain;
[edit # 2: Редактирование кадра]
Мне удалось добиться полноэкранного режима, но он не работает так, как должен. Я делаю это в своих взглядах:
CGRect frame = CGRectMake([UIScreen mainScreen].bounds.origin.x, [UIScreen mainScreen].bounds.origin.y, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width);
self.frame = frame;
Это только приводит мое представление к полноэкранному просмотру, но черная область справа, о которой я упоминал в начале, мертв и невозможно взаимодействие с пользователем в этой области (I там есть UIButton, который не реагирует на касание). Таким образом, в основном, то, что я сделал, только показало мое представление в полном разрешении, но функциональность элементов на экране ограничена областью, где первоначально показывалось мое приложение, когда я впервые запустил его на симуляторе Retina 4 дюйма.
[edit # 3: Изменение размера UIView в файлах XIB]
Я даже попытался изменить фактический размер UIView в моих XIB файлах, изменив их размер до Regina 4 Full Screen, но все же - то же самое.
[edit # 4: Изменение размера оконного объекта]
Я попытался изменить размер оконного объекта в AppDelegate.m, но опять же не повезло. Вот как выглядит AppDelegate.m.
application.statusBarOrientation = UIInterfaceOrientationLandscapeRight;
mainViewController = [[MainViewController alloc] init];
window.rootViewController = mainViewController;
// Override point for customization after application launch
[window setFrame:[UIScreen mainScreen].bounds];
[window makeKeyAndVisible];
[edit # 5: "Решение" ]
До сих пор я делал следующее: в IB я создал новые UIViews с размером разрешения iPhone 5, назначил те же классы-хозяева, которые обрабатывают их эквивалентные UIViews, сделанные для предварительного разрешения iPhone 5, и в коде, где мне нужно загрузить некоторые из этих UIViews Я проверяю [UIScreen mainScreen].borders, чтобы определить, какое устройство в настоящее время запускает мое приложение. Таким образом, мне удалось все наладить.
Но все-таки остался главный вопрос: почему все мои UIViews автоматически растянулись до нового разрешения после того, как я сделал все те вещи, о которых я говорил?
Во всяком случае, щедрость остается активной в течение 5 или 6 дней. Если кому-то удастся решить эту проблему, я буду очень благодарен. Если нет, я дам награду @ onegray, так как это было то, на чем я не позаботился на первом месте, и в моей текущей реализации это действительно важно.
С уважением.
[edit # 6: MainWindow.xib Полный экран при запуске]
Как предложил @ user1702985, я включил эту опцию ВКЛ, поскольку она была отменена. Но не повезло.
Когда я запускаю свое приложение, я показываю один вид в течение 2 секунд с одним UIImageView на нем. Если я правильно задаю свойства Autosize, этот UIView будет показан в полноэкранном режиме на симуляторе iPhone 5. НО. После этого у меня есть второй UIView, который содержит вертикальные UIScrollView, UIViews как верхний и нижний колонтитулы, и один UIButton, и я также устанавливаю все параметры авторазбора для этих элементов, но этот UIView показан в разрешении iPhone 4. Это действительно действует странно, и я до сих пор не знаю, что это может быть.
[изменить # 7: параметры автоматического изменения размера]
Этот параметр автоматического изменения размера устанавливается для всех моих UIView и его элементов.
![enter image description here]()
[edit # 8: Объяснение полного экрана при запуске]
Свойства MainWindow.xib.
![enter image description here]()
Ответы
Ответ 1
Убедитесь, что ключевое окно имеет правильный размер. Обходным путем является установка правильного кадра: [window setFrame:[[UIScreen mainScreen] bounds]]
.
Обновление:
Трудно догадаться, где проблема, не имея исходного кода.
Я создал простую заглушку для тестирования ориентации интерфейса для iPhone4/iPhone5. Я только что создал новое "приложение с одним представлением", добавил некоторые подпрограммы к корневому представлению и добавил изображения "По умолчанию". Я сделал это в Xcode 4.3.2 без каких-либо дополнительных функций Xcode 4.5.
. Приложение автоматически растягивает экран до нужного размера (для ориентации portrait/landscape
).
Ответ 2
Надеюсь, это поможет вам , но не уверен, что вы получите сенсорный эффект в полноэкранном режиме,
Таким образом, вы должны проверить наличие полного касания для своего приложения.
Шаг 1: Нажмите "На проект" из "Навигация", показанный на картинке, и щелкните по отсутствующему файлу
Шаг 2: во втором изображении нажмите Добавить
Теперь запустите проект, который ваш проект будет запущен на экране Full iPhone 5 или симуляторе.
![enter image description here]()
Ответ 3
У меня была та же проблема, что часть экрана не реагировала на взаимодействие с пользователем. Выбор опции "Полный экран при запуске" на MainWindow.xib исправил ее для меня.
Ответ 4
Независимо от того, что я сделал, я не смог получить полноэкранное приложение.
Но после того, как я добавил файл "[email protected] в мое приложение. Теперь все xib запускаются в полноэкранном режиме.
Вы можете быстро протестировать это, создав новое приложение в XCode и скопировав созданный черный png.
Ответ 5
Если вы используете XCode 6.1, попробуйте это решение (для проектов без полного набора изображений):
- Project → Target → General → Иконки приложений и запуск изображений → Файл экрана запуска
- Выберите xib для первого экрана.
Ответ 6
Вы пробовали это?
iOS Simulator > Оборудование > Устройство > iPhone (Retina 4-inch)
Я просто сталкиваюсь с той же проблемой, и именно так я решил.
Ответ 7
Как вы добавляете главный viewController в окно? Просто добавление представления, поскольку subview больше не поддерживается в iOS6.
Здесь кроме статьи из моего блога о том, как приложения работают на экране размером экрана iPhone 5.
Используйте window.rootViewController, чтобы добавить ваш первоначальный вид
Сначала, если вы создаете свои первоначальные представления в коде, убедитесь, что вы добавили свой первоначальный вид в окно с помощью window.rootViewController, а не старый способ просто добавить представление в качестве подзаголовка.
Если вы этого не сделаете, авторизация не будет работать для вашего приложения под iOS 6.
Вот пример:
navigationController = [[UINavigationController alloc] initWithRootViewController: myRootVC];
//[window addSubview:[navigationController view]]; Don't do this!
window.rootViewController = navigationController; // Do this instead!
Подробнее в http://pervasivecode.blogspot.co.uk/2012/09/making-apps-work-on-iphone-5-screen-size.html
Ответ 8
Удалить приложение на симуляторе с помощью LongPress-ing и повторного запуска.
Это работает для меня после 4-дюймовых корректировок сетчатки. Все было автоматически изменено так, как я строчку в IB.
Ответ 9
Пожалуйста, добавьте экран запуска для приложения.
Ответ 10
Мы столкнулись с аналогичной проблемой в приложении, которое было создано в iOS 6 дней при тестировании на iOS 8.
Исправление для нас устанавливало флаг "Скрытый" на MainWindow.xib.
Вот как мы узнали об исправлении здесь.
Ответ 11
То же самое происходило со мной. Я пытался создать экран для видеозахвата, и поскольку я не могу контролировать время показа всплывающего экрана и поэтому не смог показать полное видео, мне пришлось сделать поддельный экран заставки, который был просто контроллером, который сначала была показана, а затем удалена. Этот вид контроллера не показывался в полноэкранном режиме независимо от того, что я пробовал. В конце концов, я узнал, что это происходит, потому что у меня не было всплеска.
Решение: Добавьте заставки в свой проект (даже если это просто черные изображения), и проблема с полным экраном должна быть исправлена.