Я новичок в StackOverflow, а также новичок в объективе-c.Неверная ориентация запуска
Я пробовал искать пару недель, чтобы найти что-то, что дает мне намек на то, что делать, но я не могу пройти через этот вопрос, не задавая вопроса. Кажется, что это должно быть просто, но ...
У меня возникла проблема с вращением контроллера «rootView». Он должен появиться в ландшафте (что было, прежде чем я решил использовать навигационный контроллер). Симулятор отображается в правильной ориентации, но он загрузил изображение, повернутое на 90 градусов влево, так что текст читается снизу вверх, сбоку, так что вам нужно вставить свою голову влево. Крайняя левая часть видимости видна, но оставшаяся часть обзора бежит в верхней части экрана. Это большая программа (я нахожу, что в целом, с объективным-c, но наслаждаюсь ею, тем не менее ...), но вот суть того, что я считаю важными областями кода:
В appDelegate, Я создаю окно, мой RootViewController, и NavController:
// .h file:
UIWindow *window;
wordHelper3ViewController *viewController;
UINavigationController *navigationController;
Тогда в реализации:
//.m file
- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Hide status bar
application.statusBarHidden = YES;
// --- Add the view controller's view to the window and display.
[window addSubview:viewController.view];
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
return YES;
}
Тогда я освобождаю все это в dealloc.
В моем корневой точке зрения, я это делаю:
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
if (interfaceOrientation == UIInterfaceOrientationLandscapeRight){
return YES;
} else {
return NO;
}
}
Я реализовал следующие, чтобы увидеть, что происходит, и я немедленно получаю сообщение журнала при запуске:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
if (fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
NSLog(@"didRotate...");
}
}
Помимо этого, я не думаю, что я делаю что-либо в своем коде, что должно повлиять на представление. Итак, теперь для интерфейса InterfaceBuilder:
В инспекторе атрибутов как для rootView, так и для навигационного контроллера ориентация установлена в альбомную. Для корневого элемента, в разделе репозитория, «вид» установлен на владельца файла. У меня также есть действие, прикрепленное к представлению (touchUpInside) - я изменил его класс на UIButton, потому что я хотел resignFirstResponder, когда пользователь щелкает в любом месте в фоновом режиме.
Для navigationController в разделе «Резервные точки» отображается соединение с навигационным контроллером с моим appDelegate.
В главном окне xib отображается отображаемый в списке навигатор contoller, а контроллер вида отображается в виде подзадачи.
Viewcontroller также отображается сам по себе, в главном окне списка объектов.
Единственное, что выделяется для меня, это то, что при двойном щелчке по объекту окна ИТ визуально появляется в портретном режиме.
У кого-нибудь есть идеи?
Вы не возражаете, разместив скриншот , ваше описание немного неясно. – Moshe
работает на скриншоте ... – pereirap
скриншот размещен на моей странице Google DOCS - вот ссылка: https://docs.google.com/document/d/1kZMPTsqVT6yAdxCa1HPXu0jhZnDa4QOsJ3p9_wqYs5Q/edit?hl=en&authkey=CJf58PEG – pereirap