Подклассы в цели c и viewWillAppear делегаты сообщения? - PullRequest
0 голосов
/ 12 ноября 2010

Я могу запутаться здесь и задать неправильный вопрос.

Если я использую такой класс, как 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, у него был бы огонь. право

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

Я хочу настроить ориентацию контроллера splitview при его вращении.

1 Ответ

1 голос
/ 12 ноября 2010

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

...