Обработка представления контроллера навигации - PullRequest
0 голосов
/ 27 июня 2011

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

1 Ответ

1 голос
/ 27 июня 2011

У вас есть navigation view controller?

У вас есть либо контроллер навигации, либо контроллер представления.

Контроллер навигации имеет стек контроллеров представления, а также нажимает и всплывает между ними.

Что касается вашего вопроса, вам нужно определить делегата табличного представления как self.Если вы создаете подклассы UITableViewController, вам не нужно об этом беспокоиться.

Затем реализуйте этот метод:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    // here is where you can "push" a new view controller
    MyNextViewController *nextVC = [[MyNextViewController alloc] initWithNibName:@"MyNextViewController" bundle:nil];
    [nextVC setTitle:@"Next View Controller"];
    [self.navigationController pushViewController:nextVC animated:YES]; // this is where the next page is "pushed"
    // remember to release
    [nextVC release];

}

Итак, в приведенном выше коде мы используем делегатметод didSelectRowAtIndexPath, который вызывается, когда пользователь "щелкает" ячейку табличного представления.

Вы можете использовать объект indexPath, чтобы узнать, какая строка была нажата.int rowIndex = [indexPath row]; даст вам индекс строки ячейки, к которой был подключен.

...