Как добавить UIViewController в качестве подпредставления к UIViewController (RootViewController)?

У меня есть UIViewController с именем LoginViewController, и это rootViewController в AppDelegate. В LoginViewController у меня две кнопки: Login и Enroll.

Когда я нажимаю Login, я назначаю TabBarController как rootViewController, а затем показываю TabBarController. Однако теперь я думаю, что мне нужно добавить еще UIViewcController в качестве подпредставления, когда я нажимаю Enroll. Я пробовал следующее:

[self.view addsubview:viewcontroller.view];

Но проблема здесь в том, что view.top моего ViewController закреплен примерно на 20 пикселей ниже верхнего края экрана. Я думаю, что есть проблема со строкой состояния, но я не могу понять, как ее исправить.

Я думаю, что мне нужно добавить свой ViewController в качестве подпредставления в LoginViewController, а затем перенаправить оттуда на другие представления. Может кто-нибудь предложить другие варианты?


person Pradeep Reddy Kypa    schedule 18.06.2012    source источник


Ответы (3)


Вы не должны делать UIViewController подчиненным представлением другого представления UIViewController. Что вы, вероятно, захотите сделать, если рассматривать подпредставление как обычный UIView (если не оба этих представления), чтобы у вас был только один UIViewController на экране, и он занимал весь экран.

Подробнее здесь: Как добавить представление UIViewController в качестве подпредставления

person eternalmatt    schedule 18.06.2012

Попробуйте установить фрейм для объекта экрана регистрации, а затем добавьте его в качестве подпредставления для входа в систему. Бывший:

[enrollViewcontroller.view setFrame:CGRectMake(0,0,320,440)];
[self.view addsubview:enrollViewcontroller.view];
person Dee    schedule 18.06.2012
comment
измените раму в соответствии с вашими требованиями. Поскольку он на 20 пикселей ниже, попробуйте изменить положение оси Y, как это CGRectMake (0, -20,320,440), и проверьте. - person Dee; 18.06.2012

Вместо добавления UIViewController в качестве подпредставления к другому UIViewController я решил представить свой ViewController как ModalViewController, используя

[self presentModalViewController:myViewController animated:YES];
person Pradeep Reddy Kypa    schedule 20.06.2012