iPad - UISplitViewController - нетрадиционное использование UIViewController - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть UISplitViewController, и я использую его несколько нетрадиционно. Мое подробное представление, dView, имеет ссылку на мое основное представление, mView.

У меня есть немного кода, который запускается каждый раз, когда меняется ориентация. Когда он находится в портретном режиме, я устанавливаю mView.view как подпредставление dView. А когда это в ландшафтном режиме, я не.

Работает нормально, , пока я запускаю в ландшафтном режиме . Если я начну там, я могу повернуть его столько раз, сколько захочу, и он сделает все точно так, как ожидалось. НО, если я начну в портретном режиме, mView не появится вообще (пока я не поверну его в ландшафтном режиме).

Я установил эту ссылку через IB. Я подумал, что это было такое же хорошее место, как и любое другое, чтобы установить ссылку. Но я также пытался использовать методы UISplitViewDelegate, чтобы установить его, но это не сработало вообще (даже не в ландшафтном режиме).

Есть идеи?

1 Ответ

0 голосов
/ 23 декабря 2010

Ваш главный вид не создается при запуске в книжной ориентации, потому что он не отображается.Вы можете проверить это с помощью простого NSLog(), и вы увидите, что это (null) , непосредственно перед тем, как назначить контроллеры вида:

...
NSLog(@"master: %@", mView);
dView.masterReference = mView;
...

Если вам нужен ваш главный вид дляпокажите также в портретной ориентации, вы можете создать свой собственный SplitViewController вместо того, чтобы использовать UISplitViewController и «злоупотреблять» им.;)

...