Кнопка добавления вида не работает - PullRequest
0 голосов
/ 12 декабря 2010

Я нажимаю test2ViewController в Test1ViewController.m,

Test2ViewController *test2ViewController = [[Test2ViewController alloc] initWithNibName:@"Test2ViewController" bundle:nil];
[self.navigationController pushViewController:test2ViewController animated:YES];

в Test2ViewController.m, я вставляю subview test3ViewController,

Test3ViewController *test3ViewController = [[Test3ViewController alloc] initWithNibName:@"Test3ViewController" bundle:nil];
[self.view addSubview:test3ViewController.view];

мой вопрос, я хочу выдвинуть новый вид (test4ViewController) в test3ViewController, но действие кнопки в test3ViewController.view не работает

-(IBAction) goButtonAction:(id) sender {
    Test4ViewController *test4ViewController = [[Test4ViewController alloc] initWithNibName:@"Test4ViewController" bundle:nil];
    [self.navigationController pushViewController:test4ViewController animated:YES];
}

Кажется, что test3ViewController не находится в потоке навигации, как я могу выдвинуть новый вид в представлении вставки?

1 Ответ

0 голосов
/ 12 декабря 2010

test3ViewController никогда не был добавлен в стек для navigationController.Если вы хотите отправить test4ViewController, то вам придется либо сделать это из test2ViewController, либо использовать setViewControlers: animated: метод UINavigationController для добавления test3ViewController в стек:

NSMutableArray *array = [NSMutableArray arrayWithArray:test2ViewController.navigationController.viewControllers];
[array addObject:test3ViewController];
[test2ViewController.navigationController setViewControllers:array animated:NO];
[test2ViewController.navigationController popToViewController:test3ViewController animated:NO];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...