У вас есть 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];
даст вам индекс строки ячейки, к которой был подключен.