Задняя панель не отображается в навигационном контроллере - PullRequest
0 голосов
/ 03 октября 2011

Вот код:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    DrinkDetailViewController *detailViewController = [[DrinkDetailViewController alloc] initWithNibName:@"DrinkDetailViewController" bundle:nil];

    [self.navigationController pushViewController:detailViewController animated:YES];
    [self.navigationController popToRootViewControllerAnimated:YES];

    [DrinkDetailViewController release];
}

Я хочу иметь заднюю панель для перехода в мой корневой вид из подробного вида. Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 03 октября 2011

Здесь есть две вещи, которые выглядят немного странно ... надеюсь, исправление em приведет к появлению обратной стороны:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DrinkDetailViewController *detailViewController = [[DrinkDetailViewController alloc] initWithNibName:@"DrinkDetailViewController" bundle:nil];

[self.navigationController pushViewController:detailViewController animated:YES];

//[self.navigationController popToRootViewControllerAnimated:YES]; <-- you just pushed a viewController onto the stack, and you're immediately removing it here and going to the root

[detailViewController release]; //<-- you want to release the *instance* that you created... not the Class
}

Насколько мне известно, UINavigationController должен позаботиться о кнопке "назад". Если нет, я бы проверил, правильно ли все подключено в вашей xib (если она есть). Удачи!

0 голосов
/ 03 октября 2011

С вашим кодом он все равно будет передаваться в DrinkDetailViewController, но «popToRootViewController» совершенно не нужен.Вы должны удалить строку следующим образом ..

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    DrinkDetailViewController *detailViewController = [[DrinkDetailViewController alloc] initWithNibName:@"DrinkDetailViewController" bundle:nil];

    [self.navigationController pushViewController:detailViewController animated:YES];

    [detailViewController release];
}

И я считаю, что причина того, что ваша кнопка "Назад" не отображается на панели навигации, заключается в том, что вы не поместили ни одного заголовка в свое корневое представление.Вы можете поместить этот код в свой метод viewdidload в корневом представлении.

self.title = @"Your Title";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...