pushViewController и popToRootViewController - PullRequest
1 голос
/ 17 января 2012

Мое приложение использует pushViewController для модального отображения контроллера навигации.

 [navigationController pushViewController:_viewController animated:YES];

Контроллер навигации сделал кнопку

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

UIBarButtonItem* backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

self.navigationItem.leftBarButtonItem = backItem;
[backItem release];

Когда кнопка Готово нажата, я хочу, чтобы она вернулась кГлавное окно

-(void) dismissView: (id)sender

{
    [self.navigationController popToRootViewControllerAnimated:YES];
//[self.navigationController popToViewController:_viewController animated:YES];

}

Но когда я нажимаю кнопку Готово, ничего не происходит.Почему это?

Ответы [ 2 ]

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

Пожалуйста, NSLog в вашем dismissView

-(void) dismissView: (id)sender

{
   NSLog(@"Hii....");
    [self.navigationController popToRootViewControllerAnimated:YES];
//[self.navigationController popToViewController:_viewController animated:YES];

}

или отладка приложения с точкой останова.

1 голос
/ 17 января 2012
UIButton* backButton = [UIButton buttonWithType:101];

Я уверен, что «101» недействительно

+ (id)buttonWithType:(UIButtonType)buttonType

вы должны использовать одно из следующих значений UIButtonType

typedef enum {
    UIButtonTypeCustom = 0,
    UIButtonTypeRoundedRect,
    UIButtonTypeDetailDisclosure,
    UIButtonTypeInfoLight,
    UIButtonTypeInfoDark,
    UIButtonTypeContactAdd,
} UIButtonType;

кроме этого теста, ваш код помещает NSLog в ваш dismissView: чтобы узнать, будет ли он вызван

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