it-swarm.com.ru

Невозможно запустить мое приложение в полноэкранном режиме на iPhone 6.0 Simulator Retina 4 Inch

Я добавил [email protected] в свой проект и установил его в настройках проекта, я также установил параметры автоматического изменения размера для моего представления и элементов этого представления, которые изначально загружаются в мое приложение, которое доступно только в альбомной ориентации, но после запуска приложения в iOS 6.0 Simulator Retina 4 inch я вижу, что мое приложение перемещено полностью слева, оставляя область черного пикселя справа.

Любая идея, что я должен делать помимо этих вещей, чтобы мое приложение работало в полноэкранном режиме на iOS 6.0 Simulator Retina 4 дюйма?


[править # 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;

Это только приводит мой вид к полноэкранному режиму, но черная область справа, о которой я упоминал в начале, мертвая и В этой области невозможно взаимодействие с пользователем (там есть кнопка UIB, которая не реагирует на прикосновения). Таким образом, в основном то, что я делал, заставляло мой вид отображаться только в полном разрешении, но функциональность отображаемых элементов ограничена областью, в которой мое приложение первоначально отображалось, когда я впервые запустил его на Retina 4-дюймовом симуляторе.


[править # 3: Изменение размера UIView в файлах XIB]

Я даже пытался изменить фактический размер UIView в моих файлах XIB, изменяя их размер до полноэкранного режима Regina 4, но все же - то же самое.


[править # 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];

[править № 5: "Решение"]

До сих пор я делал следующее: в IB я создал новые UIViews с размером разрешения iPhone 5, назначил те же классы-владельцы, которые обрабатывают их эквивалентные UIViews, созданные для предварительного разрешения до iPhone 5, и в коде, где мне нужно загрузить некоторые из этих UIViews, которые я проверяю [ UIScreen mainScreen] .borders, чтобы определить, на каком устройстве в данный момент выполняется мое приложение. Таким образом, мне удалось заставить вещи работать.

Но все же главный вопрос остался - почему все мои UIViews автоматически не перешли на новое разрешение после того, как я сделал все те вещи, которые я упомянул?

В любом случае, награда остается активной в течение 5 или 6 дней. Если кому-то удастся решить эту проблему, я был бы очень признателен. Если нет, я дам награду @ onegray , так как об этом я не позаботился в первую очередь, и в моем нынешнем реализация это действительно важно.

С наилучшими пожеланиями.


[править # 6: MainWindow.xib в полноэкранном режиме при запуске]

Как предложил @ user1702985 , я включил этот параметр НА был отменен Но не повезло .

Когда я запускаю свое приложение, я показываю один Просмотр в течение 2 секунд с одним UIImageView на нем. Если я установлю свойства Autosize правильно, этот UIView будет отображаться в полноэкранном режиме на симуляторе iPhone 5. НО. После этого у меня есть второй UIView, который содержит вертикальный UIScrollView, UIViews в качестве верхнего и нижнего колонтитула и одну UIButton, и я также установил все параметры автоматического изменения размера для этих элементов, но этот UIView отображается в разрешении iPhone 4--. Это действительно странно, и я до сих пор не знаю, что это может быть.


[править # 7: параметры автоматического изменения размера, которые установлены]

Этот параметр автоматического изменения размера установлен для всех моих UIViews и его элементов.

enter image description here


[edit # 8: объяснение полноэкранного режима при запуске]

Свойства MainWindow.xib.

enter image description here

16
uerceg

Убедитесь, что окно ключа имеет правильный размер. Обходной путь должен установить правильный кадр: [window setFrame:[[UIScreen mainScreen] bounds]].

Обновление:
Трудно догадаться, в чем проблема, не имея исходного кода . Я создал простую заглушку приложения для проверки ориентации интерфейса для iPhone4/iPhone5 . Я только что создал новое «Приложение с одним представлением», добавил несколько подпредставлений в корневой вид и добавил изображения «По умолчанию». Я сделал это в Xcode 4.3.2 без каких-либо дополнительных функций Xcode 4.5., и приложение автоматически растянуло экран до нужного размера (для обеих ориентаций portrait/landscape).

9
onegray

Я надеюсь, что это поможет вам но не уверен, что вы получите сенсорный эффект в полноэкранном режиме , Поэтому вы должны проверить для полного прикосновения для вашего приложения.

Шаг 1: Нажмите на проект из навигации, показанной на изображении, и нажмите на отсутствующий файл

Шаг 2: во втором изображении нажмите на кнопку Добавить

Теперь запустите проект, ваш проект будет запущен на полном экране iPhone 5 или в симуляторе.

enter image description here

21
Ashvin Ajadiya

У меня была такая же проблема, когда часть экрана не реагировала на взаимодействие с пользователем. Выбор опции «Полный экран при запуске» на MainWindow.xib исправил это для меня.

5
user1702985

Что бы я ни делал, я не мог получить мое приложение в полноэкранном режиме.

Но после того, как я добавил файл "[email protected] в мое приложение. Теперь все XIB работают на весь экран. Вы можете быстро проверить это, создав новое приложение в XCode и скопировав черный PNG, который был создан , 

4
John Ballinger

Если вы используете XCode 6.1, попробуйте это решение (для проектов без полного набора изображений):

  1. Проект -> Цель -> Общие -> Значки приложений и изображения запуска -> Файл экрана запуска
  2. Выберите XIB для первого экрана.
2
Vlad

ты пробовал это?

симулятор iOS> Аппаратное обеспечение> Устройство> iPhone (Retina 4-inch)

я просто столкнулся с той же проблемой, и вот как я решил.

1
user1834011

Удалите приложение на симуляторе с помощью LongPress и снова запустите.

Это работает для меня, после 4-дюймовых настроек сетчатки. Все было автоматически изменено, как я прошивал в IB.

0
dklt

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

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

0
tsilva

Мы столкнулись с аналогичной проблемой в приложении, которое было создано еще на iOS 6 дней при тестировании на iOS 8. 

Для нас исправлением была установка флага «Скрытый» на MainWindow.xib.

Вот как мы узнали об исправлении здесь .

0
diadyne

Пожалуйста, добавьте стартовый экран для приложения.

0
Chathurka

Как вы добавляете основной viewController в окно? Просто добавление представления в качестве подпредставления больше не поддерживается в 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

0
Ben Clayton