#iphone #objective-c
#iPhone #objective-c
Вопрос:
У меня есть rootTableView с ячейками, которые загружены из массива:
logArray = [[NSArray alloc]initWithObjects:@"John", @"Jack", @"Jill", nil];
Когда я нажимаю на ячейку, например, ячейку с именем «Jack», это приведет меня к вложенной таблице для «Jack»
Как мне установить заголовок этого вложенного TableView на «Jack» и т.д.
Ответ №1:
Под делегатом TableView
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NextViewController *nextView = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil];
**nextView.title = [logArray objectAtIndex: indexPath.row];**
//push the nextView here
}
Комментарии:
1. Это работает, но есть небольшая задержка с загрузкой заголовка вложенного представления. Есть идеи, почему? Сначала загружается навигационная панель, затем загружается заголовок. Я бы хотел, чтобы он загружался одновременно.
2. у nevermind все работает нормально. просто добавил код заголовка перед push-кодом. Спасибо!
Ответ №2:
Я думаю, вы можете попробовать использовать для этого UITableView
заголовок раздела
Комментарии:
1. Строка есть
self.navigationItem.title = @"Test";
, но я не знаю, на что ее установить.2. @Faisal: Извините, я вас не понял.
3. У меня есть табличное представление, ячейки заполнены кодом из моего организационного вопроса. Когда я нажимаю на ячейку, заголовок навигационной панели следующего вложенного представления должен быть названием ячейки, на которую был сделан щелчок. Например, если в первой таблице есть категории: рэп, поп, рок, танцы, кантри — если щелкнуть ячейку, в следующей таблице должны быть песни из этой категории, но заголовок навигационной панели должен быть такого жанра, например, танцевальный, поп, рэп и т.д.
Ответ №3:
Вам нужно создать свойство в вашем вложенном tableview, которому вы можете передать имя. Что-то подобное должно быть в вашем методе didSelectRowAtIndexPath.
UITableViewCell *currentCell = [self.tableView cellForRowAtIndexPath:indexPath];
MySubtableviewController *mstvc = [[MySubTsbleViewController alloc] init];
mstvc.nameProperty = currentCell.textLabel.text;
[self.navigstiomController pushViewController:mstvc];
Что-то вроде этого, где свойство nameProperty объявлено в вашем контроллере sub TableView.
Затем в вашем вспомогательном контроллере просмотра просто установите заголовок в viewDidLoad.
self.title = self.nameProperty;
Надеюсь, это поможет.