TTPhotoViewController вращает изображение, но не панель навигации и панель инструментов - PullRequest
0 голосов
/ 21 февраля 2011

Я сделал подкласс TTPhotoViewController, при котором при повороте iPhone также поворачивается текущее изображение, но НЕ панель навигации и панель инструментов (панель с кнопками prev и next). В моем подклассе у меня есть оверид метод shouldAutorotateToInterfaceOrientation::

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {   
    return  YES;
}

Я пытался переопределить willRotateToInterfaceOrientation: duration: e установить точку останова внутри, но кажется, что этот метод никогда не вызывается.

Ответы [ 2 ]

1 голос
/ 21 февраля 2011

Я решил следующим образом:

TTPhotoViewController было в пределах TabBarController и по умолчанию TabBarController не возвращает YES для shouldAutorotateToInterfaceOrientation.Так что просто создайте подкласс TabBarController и сделайте что-то вроде этого:

@implementation CustomTabBarController

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
    return [self.selectedViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

@end

Я добавляю небольшую деталь: в моей первой попытке повернуть интерфейс я обнаружил, что deviceOrientationDidChange: в TTScrollView.m был закомментирован,это сделано потому, что при декомпозиции этого кода представление прокрутки имеет странное поведение при повороте ландшафта.

1 голос
/ 21 февраля 2011

Убедитесь, что все ваши контроллеры представления, т. Е. Родительские контроллеры представления, допускают повороты .. скорее всего, это происходит потому, что один или несколько контроллеров представления не возвращают TRUE для shouldAutorotateToInterfaceOrientation

...