2010-11-12 1 views
0

Возможно, я смутился и задал неправильный вопрос.Подклассы в объектах c и viewWillAppear делегаты сообщения?

Если я использую класс, подобный UISplitViewController внутри appdelete.m, будет ли я получать только сообщение, которое UISplitViewController вызывает, а не какое-либо сообщение VIEW? например:

в моей myappdelegate.m

.... 
UISplitViewController *mySplitViewController = [[UISplitViewController alloc] init]; 

mySplitViewController.viewControllers = [NSArray arrayWithObjects:leftside,rightside,nil]; 
... 

mySplitViewController.delegate = self; 
.... 
[windows addSubView:mySplitViewController.view]; 
.... 
-(void) viewWillAppear:(BOOL) animated { 
} 

в myappdelegate.h я включил UISplitViewControllerDelegate

Я ожидал viewWillAppear огонь, но это не так. Я предполагаю, что если бы у меня был подкласс UISplitViewControler, у него был бы огонь. правильно?

BTW: Я делаю это без использования IB. Нужно ли устанавливать цель для mySplitViewController?

Что я хочу сделать, это настроить ориентацию контроллера splitview при его повороте.

ответ

1

Метод viewWillAppear и другие связанные с ним методы будут вызываться непосредственно на контроллере представления или просмотра, а не на делегате. Это означает, что если вы создадите подкласс UISplitViewController под названием SplitViewControllerSubClass, методы view... будут вызываться в экземпляре SplitViewControllerSubClass, а не на объекте делегирования. Но учитывая, что вы создаете представления и отображаете их программно, вы уже точно знаете, когда появится представление (т. Е. Прямо перед тем, как добавить его в окно), поэтому я считаю, что вы могли бы сделать любую настройку, которая вам нужна в этот момент.

+0

Это по умолчанию, что UIViewcontroller авторезистирует его под просмотр? У меня два диспетчера разрешений для UISplitViewController, и только один из них появляется. См. Обновленное сообщение. – Arcadian

 Смежные вопросы

  • Нет связанных вопросов^_^