2013-11-26 4 views
1

У меня есть FavouriteViewController, в которой у меня есть одна кнопка по нажатию кнопки я хочу представить вид модально под названием LoginViewController (с использованием раскадровки)Как PushViewController От modalViewController

На этой странице (LoginViewController), я опять кнопку, на нажмите, что я хочу нажать мой контроллер.

Возможно ли это?

+3

Это приведет к необычному опыту пользовательского интерфейса. Но если вы хотите нажать с любого диспетчера представлений, базовый диспетчер представлений должен быть встроен в 'UINavigationController'. Вы можете просто попробовать внедрить свой «LoginViewController»: выберите его в IB, нажмите «Редактор» -> «Вставить» -> «Контроллер навигации». Но сначала переосмыслите свой интерфейс, так как это не похоже на хорошее решение. –

ответ

3

Вы можете попробовать ниже код .. Это может помочь вам получить желаемое решение ,

1) Присутствует LoginViewController, пишите ниже.

LoginViewController *login = [[[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:nil]autorelease]; 
    UINavigationController *nc = [[[UINavigationController alloc] initWithRootViewController:login]autorelease]; 
    nc.navigationBar.hidden = YES; 
    [self.navigationController presentModalViewController:nc animated:YES]; 

2) Теперь из LoginViewController, Вы можете нажать ваш MyviewController, как показано ниже.

MyviewController *adss = [[[MyviewController alloc]initWithNibName:@"MyviewController" bundle:nil]autorelease]; 
    [self.navigationController pushViewController:adss animated:YES]; 
+0

Это аварийное отображение приложений:' NSInvalidArgumentException ', причина:' Приложение пыталось текущий modally активный контроллер' – Krunal

+0

1-й код, который вам нужно написать в 'FavouriteViewController', чтобы представить' LoginViewController' .. Вы делаете то же самое? –

+0

экран получается черным после записи этого 'CRLoginWithViewController * login = [[CRLoginWithViewController alloc] init]; UINavigationController * nc = [[UINavigationController alloc] initWithRootViewController: login]; nc.navigationBar.hidden = YES; [self.navigationController presentViewController: nc animated: YES завершение: Nil]; ' – Krunal

1

использование UINavigationController

UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:self.LoginViewController]; 
[self presentModalViewController:nav animated:YES]; 

после этого вы можете нажать любой контроллер представления из представленного контроллера представления (LoginViewController)

+0

Вот как представить контроллер модального вида. OP хочет нажать viewcontroller из модально представленного viewcontroller. (я думаю) –

+1

Он представляет модально 'UINavigationController', это возможный ответ :) – KIDdAe

+0

, если вы так думаете, что можете повышать свой ответ :) – freelancer

0

Здесь

[self.parentViewController.navigationController pushViewController:newViewController animated:YES]; 
Смежные вопросы