Проблема с использованием presentModalViewController в Ipad - PullRequest
3 голосов
/ 11 апреля 2011

В моем текущем приложении Ipad у меня есть разделенное представление экрана, в котором подробное представление является представлением прокрутки, содержащим 4 представления таблицы. Функциональность, которую я пытался реализовать, заключалась в том, что, когда я щелкаю по любой строке таблицы в представлении прокрутки, появляется экран с дополнительной информацией, и я использовал presentModalViewController, чтобы попытаться получить эту функцию.

скажем, например, у меня есть 3 файла aViewController, bViewController, cViewController .. Я пишу код для splitViewController в файле appDelegate моего проекта, и я сохраняю 3 контроллера вида (aViewController, bViewController, cViewController) в качестве подпредставлений splitViewController ...

Теперь в одном из моих ViewControllers, скажем, aViewController , в его didSelectRowAtIndexPath я добавляю код следующим образом

Это то, что я сделал,

PopOverControllerContents *popContents = 
        [[PopOverControllerContents alloc] 
         initWithNibName:@"PopOverControllerContents" 
         bundle:[NSBundle mainBundle]];
 popContents.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:popContents animated:YES

Важно отметить, что ориентация моего приложения по умолчанию - альбомный режим, и поэтому я изменил ориентацию PopOverControllerContents на альбомную.

Когда я строю и запускаю, и когда я щелкаю по любой строке в aViewController , всплывающее окно появляется, но оно полностью не в своем положении, а его нижняя часть обрезается.

Кто-нибудь сможет сказать мне, что я делаю неправильно и как я могу это исправить?

1 Ответ

2 голосов
/ 29 октября 2011

[UIViewController presentModalViewController::] предполагает, что ваш контроллер представления является корневым контроллером или находится где-то в иерархии контроллеров. Когда вы говорите, что ваши представления контроллера являются подпредставлением SplitViewController, они также являются его дочерними контроллерами? Вы должны попытаться представить модальный контроллер из SplitViewController или убедиться, что ваши контроллеры являются дочерними контроллерами (новая функция в iOS 5).

...