2012-07-02 4 views
2

У меня есть небольшая проблема.
Я принимаю 5 ViewCotrollers A, B, C, D, E. А A - контроллер RootView. В A a добавить одну кнопку и дать ей действие. Когда я нажимаю кнопку, вызывается presentModalViewController и B ViewController. Его метод addubView. Таким образом, во всем взгляде тот же процесс - это их. Способ цепной обработки.
Но в последнем представлении я хочу отклонить этот presentmodalViewController. И я пробовал этот тип кода.Как отклонить контроллер модального вида

-(IBAction)Done:(id)sender 
{ 
    [self dismissModalViewControllerAnimated:NO]; 
} 

Но его не работает. Дайте мне правильное guidencee .. спасибо ..

+1

вы используете addsubView или presentModelViewController? –

+1

Что вы на самом деле хотите сделать? перейти от E к A? –

+0

да, я хочу переместить E в A. – Piyush

ответ

1

На E View по кнопке события, написать этот

-(IBAction)Done:(id)sender 
{ 
    id mainViewController = [self.view.superview.superview nextResponder]; 
    [mainViewController dismissModalViewControllerAnimated:YES]; 
} 

Этот код не проверял, но попытаться использовать это, надеюсь, он работает :-)

+0

его не работает. но одна вещь заключается в том, что я использую ios 5.1. – Piyush

+0

На каком контроллере вы используете этот код? E? –

+0

его не работает. i вещь проблема ios 5.1. Я использую ios 5.1 – Piyush

0

сделать все вид от А до Е в том же файле .xib ....

затем в вашем .h файле провозглашают:

UIView *containerView; 

и IBOutlets для всех Вид с B до E ..

в .m файл:

в кнопки действий вашего A просмотра вы можете сделать это ...

containerView= [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
[containerView addSubview:BView]; 
[self.view addSubview:containerView]; 

этот код добавить BView в вашем RootViewController т.е. ...

сейчас в IBAction взглядов остальных вы можете написать этот код для навигации ..

[UIView transitionFromView:BviewController toView:CViewController duration:1.0 options:UIViewAnimationOptionTransitionCurlDown completion:nil]; 

и так далее ...

вернуться к вашему RootViewController A

т.е.
[containerView removeFromSuperview]; 

в IBAction зрения E; или вы можете также использовать transitionFromView для навигации ...

2

Попробуйте использовать уведомление, как это:

- (void)dismissSelf { 
[self dismissModalViewControllerAnimated:YES]; 
} 


- (void)receiveDismissNotification:(NSNotification *) note{ 
[self performSelectorOnMainThread:@selector(dismissSelf) withObject:nil waitUntilDone:NO]; 
} 
Смежные вопросы