- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
NSLog(@"-------");}
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;}
в TableViewController не попадаю в данный обработчик события. Что сделать?
-
С какой целью вы хотите перехватить событие? Может, что-то подскажу. Но на события вращения лучше логику не добавлять - плохо все обрабатывается. Например, в случае, если приложение ушло в бегграунд, а потом устройство повернули и вернули приложение в активнное состояние.– Алексей Алыбин1 окт 2014 в 6:08
Добавить комментарий
|
1 ответ
Начиная с iOS 6 метод shouldAutorotateToInterfaceOrientation объявлен устаревшим (deprecated), а за логику работы autorotation отвечают два других — supportedInterfaceOrientations и shouldAutorotate
http://habrahabr.ru/post/155969/
upd. мне чтобы дать комментарий не хватает понимания ситуации. вот код который у меня работает в рутконтроллере (надо также в target проекта выставить галочки для device orientation, это вы думаю знаете)
-(BOOL)shouldAutorotate
{
NSLog(@"shouldAutorotate log");
return TRUE;
}
-(NSUInteger)supportedInterfaceOrientations
{
NSLog(@"supportedInterfaceOrientations log");
// return UIInterfaceOrientationMaskAll; или по каждому положению устройства
return UIInterfaceOrientationMaskPortrait |
UIInterfaceOrientationMaskPortraitUpsideDown |
UIInterfaceOrientationMaskLandscapeLeft |
UIInterfaceOrientationMaskLandscapeRight;
}
при запуске приложения и тот и тот лог должны быть
-
Я добавил методы в модуль контроллера, но не попадаю в shouldAutorotate.– Indeets2 окт 2014 в 12:49