#objective-c #ios #uitableview #ios4
#objective-c #iOS #uitableview #ios4
Вопрос:
На данный момент у меня есть приложение для iOS, которое запускается с NavigationView (корневого представления) и таблицы, содержащейся в корневом представлении под панелью навигации. Я пытаюсь загрузить другое представление (надеясь сделать его другой таблицей) из файла .nib, когда выбрана первая строка в исходной таблице. Как я могу это сделать?
Любая помощь или совет будут оценены. Большое вам спасибо.
Ответ №1:
Вам необходимо использовать UITableViewDelegate
метод, tableView:didSelectRowAtIndexPath:
Убедитесь, что делегат вашего tableview установлен на ваш контроллер представления внутри Interface Builder, или если вы не используете interface builder..
[tableView setDelegate:self];
Затем ваш контроллер представления примет UITableViewDelegate
протокол и ответит на tableView:didSelectRowAtIndexPath:
выбор строки.
Загрузка вашего нового представления при выборе первой строки будет реализована следующим образом..
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.section == 0){ // the first row
MyView *myView = [[MyView alloc] init];
[self.navigationController pushViewController:myView animated:YES];
[myView release];
}
}
Комментарии:
1. Спасибо — это именно то, что у меня есть. Однако по какой-то причине мое приложение вылетает при выборе строки и не загружает представление.
2. Строка отлично выбирается в первом представлении, но второе представление не загружается, а затем приложение вылетает.