[self.window addSubview:[_viewController view]]; перемещая вид вверх в нижней версии iphone

Я работаю над универсальным приложением. Я использую

self.window.rootViewController = self.SecondViewController

загрузить класс viewcontroller в AppDelegate метод. Эта строка кода работает нормально для ios версии 4 и выше, но когда я запускаю ее на моем ios 3.1.3, она вылетает.

Поэтому я заменил этот код [self.window addSubview:[SecondViewController view]] и он работает нормально, но изначально изображение перемещается вверх (как на снимке экрана), когда мы загружаем приложение в первый раз.

Пожалуйста, помогите мне преодолеть эту проблему, спасибо

2 ответа

Решение

rootViewController свойство было введено в iOS 4.0, что является причиной сбоя в iOS 3.1.3.

Если вы используете [self.window addSubview:[SecondViewController view]] тогда может случиться так, что представление контроллеров представления не настроено для строки состояния. См. Offset на UIWindow addSubview для хорошего объяснения.

Решение состоит в том, чтобы назначить кадр вида, в вашем случае

self.SecondViewController.view.frame = [UIScreen mainScreen].applicationFrame;

перед добавлением его в качестве подпредставления.

SecondViewController.view.frame = CGRectMake(0, 20, 320, 460);
[self.window addSubview:[SecondViewController view]]
Другие вопросы по тегам