Robię aplikację, która wymaga rozszerzenia komórek onclick, aby pokazać więcej szczegółów. Użyłem niestandardowej komórki i dodałem ją do UItableview. Kiedy klikam na komórkę, animuje się dobrze i zejdzie w dół, a kiedy klikam ponownie, to idzie w górę, odbywa się to za pomocą zmiany wysokości komórki. Rzeczywisty rozmiar komórki niestandardowej jest większy niż zwykle pokazywana komórka. Po kliknięciu na komórkę wyświetlana jest cała komórka. Jedyny problem, jaki mam, to przepełnienie danych. te dane powinny być ukryte, gdy komórka nie jest wybrana. Tylko wtedy, gdy zostanie wybrane, powinny zostać wyświetlone te dane.UItable Cell Overflow ios
Odniosłem się do różnych artyzmów, próbowałem zmienić ustawienie koloru, które nie działało dla mnie. Mam ten sam rodzaj problemu, który został zadany w tym pytaniu iphone uitablecellview overflow, wypróbowałem odpowiedź, ale nie zadziałało.
Wszystko, czego potrzebuję, to ukryć dolną część niestandardowej komórki, gdy nie jest ona rozszerzona, i pokazać ją, gdy jest przedłużona ...!
To są moje zrzuty ekranu
Gdy jest ładowany Kiedy klikam na komórkę] Kiedy klikam na 2 komórki
Po kliknięciu na komórki, który jest już rozszerzony Są to snipsy kodu, których użyłem ...
// Declaring the SearchResultTable.
CGRect filterFrame = CGRectMake(0,31, 320, 400);
self.searchResultTable = [[UITableView alloc] initWithFrame:filterFrame];
self.searchResultTable.dataSource = self;
self.searchResultTable.delegate = self;
self.searchResultTable.backgroundColor = [UIColor whiteColor];
self.searchResultTable.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
self.searchResultTable.separatorColor = [UIColor lightGrayColor];
[self.view addSubview:self.searchResultTable];
//Adding cells
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"ExpandedSearchResultTableCell";
ExpandedSearchResultTableCell *cell = (ExpandedSearchResultTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell.contentView.clipsToBounds = YES;
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ExpandedSearchResultTableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
cell.productNameLable.text = @"Only this should be shown";
cell.productListLabel.text = @"This Should be hidden.. Only shown when expanded";
[email protected]"This Should be hidden.. Only shown when expanded";
cell.productTargetLable.text= @"This Should be hidden.. Only shown when expanded";
[email protected]"This Should be hidden.. Only shown when expanded";
[email protected]"This Should be hidden.. Only shown when expanded";;
return cell;
}
//on click event
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Deselect cell
[tableView deselectRowAtIndexPath:indexPath animated:TRUE];
// Toggle 'selected' state
BOOL isSelected = ![self cellIsSelected:indexPath];
// Store cell 'selected' state keyed on indexPath
NSNumber *selectedIndex = [NSNumber numberWithBool:isSelected];
[selectedIndexes setObject:selectedIndex forKey:indexPath];
// This is where magic happens...
[searchResultTable beginUpdates];
[searchResultTable endUpdates];
}
//Getting the height depending on expanded or not
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// If our cell is selected, return double height
if([self cellIsSelected:indexPath]) {
return kCellHeight * 3.0;
}
// Cell isn't selected so return single height
return kCellHeight;
}
Mam już zakończoną część animacji .. Muszę tylko wiedzieć, jak ukryć pewną część komórki ... W każdym razie będę odnosić się do ciebie linki ... Sprawdziłem już pierwszy – Gihan