У меня довольно простая иерархия представлений в приложении для iPad.Отправка сообщения в подвью после авторотации
Окно -> RootView -> TableView/DetailView
TableView и DetailView являются родственниками добавлены в качестве подвидов (согласно решению к предыдущему вопросу). При запуске TableView находится впереди. Когда вы выбираете ячейку, вызывается метод в делегате приложения, который заменяет их, помещая DetailView спереди. Кнопка закрытия в DetailView делает обратное.
Отлично работает.
Однако ... DetailView содержит UIScrollView, нарисованное в .xib Когда DetailView приходит к фронту у меня есть метод, который принимает информацию о содержимом ячейки, выбор вызвал изменение. Это заполняет подробный вид содержимым этикетки и изображением. Этикетки являются простыми сеттерами для IBOutlets на этикетках в .xib Изображение имеет размер до высоты UIScrollView, поддерживая соотношение сторон. Это делается программно, добавив его в UIImageView, который добавляется в UIScrollView.
Поведение у меня нормально для портрета. Когда он поворачивается в альбом «Пейзаж», я хочу изменить размер изображения в соответствии с шириной шириной прилагаемого UIImageView (а затем и охватывающего UIScrollView). У меня есть большой код, чтобы фактически изменить размер изображения (любезность категории дополнение к UIImage из [текст ссылки] [1]
ПРОБЛЕМА ... Только RootViewController отвечает на вызовы didRotateToInterfaceOrientation. мне нужно отправьте сообщение от этого метода на контроллер DetailViews, указав ему, чтобы изменить размер изображения, а затем перерисовать связанный с ним UIImageView. Ссылка на контроллер подзапроса кажется, что он должен быть простым и, возможно, мне не хватает простого ответа. Я попробовал для использования:
[[self.view.subviews objectAtIndex:1] didRotateFromInterfaceOrientation:fromInterfaceOrientation];
и
[self.view viewWithTag:[[self.view.subviews objectAtIndex:1] tag]]
Но они оба возвращают представление НЕ контроллером представлений, и поэтому злятся на селекторы, когда я пытаюсь запустить его.
Может ли кто-нибудь указать мне правильный путь?