IOS: использовать навигационный контроллер в подпредставлении - PullRequest
0 голосов
/ 31 мая 2011

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

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Ваш представитель представления таблицы получит сообщение tableView:didSelectRowAtIndexPath: при нажатии на одну из строк таблицы.

Вы можете поместить туда свой код, чтобы создать UINavigationController, и перенести на него свой новый вид.

Этот пример кода (из другого моего ответа на S.O. ) показывает, как вы можете это сделать:

 UINavigationController* navigation = [[UINavigationController alloc] init];
 iVkViewController *overviewViewController = [[iVkViewController alloc] init];
 overviewViewController.title = @"First";
 [navigation pushViewController:overviewViewController animated:NO];

Это должно помочь вам добиться успеха.

Примечание: вы можете подумать о том, чтобы с самого начала иметь навигационный контроллер, это сделает ваш пользовательский интерфейс более "хорошим", но в конечном итоге это зависит от требований вашего приложения.

0 голосов
/ 10 марта 2015

Если UIViewController addSubView представляет собой представление UITableViewController, вы хотите добавить метод tableView: didSelectRowAtIndexPath, вам следует проверить, имеет ли self.navigationController значение nil. Если это ноль, вы, вероятно, должны использовать

[self.parentViewController.navigationController pushViewController:controller animated:YES];

если self.parentViewController также равен nil, иногда вам нужно установить @property, чтобы указать на parentViewController в UITableViewController, например:

@property (nonatomic, weak) UIViewController *parentVC;

и в UIViewController:

UITableViewController *tableViewVC = [[UITableViewController alloc] init];
tableViewVC.parentVC = self;

В UITableViewController, -tableView: didSelectRowAtIndexPath:

[self.parentVC.navigationController pushViewController:controller animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...