У меня есть таблица, разделенная на динамически изменяющиеся по алфавиту разделы. Когда я нажимаю на ячейку, я хочу, чтобы она расширялась.iOS - Найти индекс ячейки в секции
Что происходит, когда я, например, выбираю cell1 в разделе 2, открывается каждая ячейка1 в каждом разделе.
Я знаю, что мне нужно получить значение indexpath.section и indexpath.row в файле didselectrowforindexpath, но как?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSString* letter = [letters objectAtIndex:indexPath.section];
NSArray* arrayForLetter = (NSArray*)[filteredTableData objectForKey:letter];
shu = (ShuDict*)[arrayForLetter objectAtIndex:indexPath.row];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
if (!self.detailViewController) {
self.detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPhone" bundle:nil];
}
[self.navigationController pushViewController:self.detailViewController animated:YES];
} else {
NSString* letter = [letters objectAtIndex:indexPath.section];
NSArray* arrayForLetter = (NSArray*)[filteredTableData objectForKey:letter];
shu = (ShuDict*)[arrayForLetter objectAtIndex:indexPath.row];
NSLog(@"%@",shu);
self.detailViewController.detailItem = shu.description;
self.detailViewController.title = shu.title;
}
if (selectedRow == indexPath.row) {
lblDecs.hidden=NO;
selectedRow = -1;
}
else{
lblDecs.hidden = YES;
selectedRow = indexPath.row;
}
[tableView reloadData];
}
Так что это мой метод didSelectRowAtIndexPath. Я думаю, что проблема выбранаRow == indexpath.row, потому что она не включает индекс раздела?
вы можете показать нам, как, 1. Метод сортировки работает 2. Как работает расширение (разве это флаг, который был расширен, а затем перезагрузите таблицу?) , пожалуйста, спасибо! :) –
Я видел это решение. Это не работает для меня – SirJoeyMichaels