Проблема навигации с UITableView - PullRequest
0 голосов
/ 08 февраля 2012

Как мне вернуться на предыдущую страницу с помощью UITableViewController.Я пытался показать панель навигации с кнопкой навигации в верхней части экрана, но панель навигации не отображается.Я знаю, что вы должны дать предыдущему виду заголовок, но когда я делаю это, он ничего не показывает.Кроме того, так как это UITableViewController, я не могу удалить панель навигации и добавить кнопку в главном окне.Все, что я хотел бы сделать, это отобразить мои списки и иметь возможность вернуться к предыдущему списку с помощью одной кнопки в верхнем левом углу.

Ответы [ 3 ]

0 голосов
/ 08 февраля 2012

Для навигации, которую вы пытаетесь достичь, вы должны использовать UINavigationController.У него уже есть функциональность, которую вы описываете, со встроенной панелью навигации и кнопкой возврата.

Для перехода к следующему экрану (который может быть UITableViewController) вы используете pushViewController:animated:, а для перехода к предыдущему экрану вы используете popViewControllerAnimated: (хотя встроенная кнопка «назад» сделает это за вас).

Я предлагаю прочитать документацию по классу UINavigationController , если вы еще не знакомы с ней.

0 голосов
/ 09 февраля 2012

Проблема, с которой вы столкнулись с NavigationController, заключается в том, что ваш tableViewController не находится в иерархии NavigationController. Хотите сделать это при добавлении tableViewController:

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:yourTableViewController];

Затем вы можете сделать это, чтобы добавить ваш TableViewController:

[self.view addSubview:navigationController.view];

Если вы не хотите, чтобы навигационная панель отображалась в tableViewController, просто используйте:

self.navigationController.navigationBarHidden = YES;  

в методе yourTableViewController viewWillAppear.

Когда вы собираетесь добавить представление после tableView, которое вы просто используете:

[self.navigationController pushViewController:someViewController animated:YES];
0 голосов
/ 08 февраля 2012

Недостаточно дать дочернему виду название. Вам нужно дать элементу навигации дочернего вида заголовок, прежде чем представлять его. Например, в родительском представлении перед тем, как переместить представление в стек навигации, выполните что-то вроде этого ...

[MyChildView.MyNavigationItem setTitle:@"A cool Title"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...