Должны ли родительские UIViewControllers распространять didRotateFromInterfaceOrientation на детей?
Существует два UIViewController: MyParentViewController и MyToolbarViewController. MyParentViewController управляет видом, который занимает большую часть экрана. MyToolbarViewController является подпредставлением MyParentViewController и управляет сравнительно небольшим представлением с более высоким z-индексом, чем представление, управляемое его родителем, MyParentViewController.
Поскольку представление MyParentViewController находится выше в иерархии представлений, его shouldAutorotateToDeviceOrientation
метод, кажется, превосходит тот из MyToolbarViewController's. Все, что он возвращает, является значением, которое используется. Я не вижу MyToolbarViewController's didAutorotateFromDeviceOrientation
позвоните, однако. Это моя ответственность переопределить MyParentViewController didAutorotateFromDeviceOrientation
и вызвать метод на subview?
1 ответ
В iOS 4.x Apple определяет все "легальные" контроллеры контейнеров (разделенное представление, представление таблицы, представление навигации и представление вкладки). Эти контроллеры управляют всеми методами управления представлениями (viewWill…
, viewDid…
, shouldAutoRotate…
) и отправьте их соответствующим образом.
Если вы попытаетесь сделать что-то подобное, ни один из этих методов не будет перенаправлен. В настоящее время, если вам нужно действовать этими методами, за это отвечает "верхний" контроллер.
[читать между строк для будущего ответа]