Не удалось запустить приложение в полноэкранном режиме на iPhone 6.0. Симулятор Retina 4 дюйма - программирование
Подтвердить что ты не робот

Не удалось запустить приложение в полноэкранном режиме на 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

4b9b3361

Ответ 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

То же самое происходило со мной. Я пытался создать экран для видеозахвата, и поскольку я не могу контролировать время показа всплывающего экрана и поэтому не смог показать полное видео, мне пришлось сделать поддельный экран заставки, который был просто контроллером, который сначала была показана, а затем удалена. Этот вид контроллера не показывался в полноэкранном режиме независимо от того, что я пробовал. В конце концов, я узнал, что это происходит, потому что у меня не было всплеска.

Решение: Добавьте заставки в свой проект (даже если это просто черные изображения), и проблема с полным экраном должна быть исправлена.