увольнение modalview не работает - PullRequest
0 голосов
/ 16 января 2012

я представляю modalviewcontroller без использования протокола делегата.Но хочу отклонить modalviewcontroller, используя протокол делегата.

По сути, я нажимаю modalviewcontroller, как этотВ контроллере modalview.m file

@synthesize dismissDelegate;

-(void) dismissModalView:(UIViewController *) viewController;
{

   [self dismissModalViewControllerAnimated:YES];

 }
  @end

   -(void) dismissView: (id)sender

  {
    [delegate dismissModalView:self];

 }

 -(void) dismissModalView:(UIViewController *) viewController;
{

 [self.dismissModalViewController Animated:YES];

}

@end

Но почему-то это не работает при нажатии на кнопку «Готово»

 UIButton* backButton = [UIButton buttonWithType:101]; 
  [backButton addTarget:self action:@selector(dismissView:)   forControlEvents:UIControlEventTouchUpInside];
  [backButton setTitle:@"Done" forState:UIControlStateNormal];

// create button item
UIBarButtonItem* backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

// add the button to navigation bar
self.navigationItem.leftBarButtonItem = backItem;
[backItem release];

Кто-нибудь может понять, что мне не хватает в моем коде или что я делаю неправильно.Помощь будет очень признательна.

Спасибо

Ответы [ 3 ]

1 голос
/ 16 января 2012

Я бы хотел прокомментировать, но недостаточно привилегий. В любом случае AFAIK ...

Никто не «проталкивает» модальный ВК ... его нужно «представить» вот так ..

[navigationController presentModalViewController:_viewController animated:YES];

Только представленный модальный VC будет отклонен при вызове [self dismissModalViewControllerAnimated:YES];

ИЛИ, если вам действительно нужно «нажать», то вам нужно «вытолкнуть», чтобы вернуться!

Надеюсь, это поможет

1 голос
/ 16 января 2012

Вы перемещаетесь в стек навигации, поэтому модальный экран не отображался, вам нужно вытолкнуть вид из стека:

[self.navigationController popViewControllerAnimated:YES];

вместо:

[self dismissModalViewControllerAnimated:YES];
1 голос
/ 16 января 2012

Поправьте меня, если я ошибаюсь, но не хотите ли вы определить _viewController в вашем файле .h и отклонить его с помощью: [delegate dismissModalView:_viewController]; вместо того, чтобы отклонить self, потому что self не является контроллером представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...