Ich mache eine Anwendung, die Erweiterung der Zellen onclick benötigt, um weitere Details anzuzeigen. Ich habe eine benutzerdefinierte Zelle verwendet und sie zu einer UTabellenansicht hinzugefügt. Wenn ich auf die Zelle klicke, wird sie fein animiert und geht nach unten. Wenn ich erneut klicke, geht es nach oben, indem ich die Höhe der Zelle verändere. Die tatsächliche benutzerdefinierte Zellengröße ist größer als die Zelle, die normalerweise angezeigt wird. Wenn ich auf die Zelle klicke, wird die ganze Zelle angezeigt. Das einzige Problem, das ich habe, ist der Überlauf der Daten. Diese Daten sollten ausgeblendet werden, wenn die Zelle nicht ausgewählt ist. Nur wenn diese ausgewählt ist, sollten diese Daten angezeigt werden.UItable Cell Overflow ios
Ich bezog mich auf verschiedene Articles, versucht, die Farbeinstellung zu ändern, funktionierte nicht für mich. Ich habe die gleiche Art von Problem in dieser Frage iphone uitablecellview overflow gestellt, versuchte die Antwort, aber es hat nicht funktioniert.
Alles, was ich brauche, ist, wie Sie den unteren Teil der benutzerdefinierten Zelle ausblenden, wenn es nicht erweitert wird, und zeigen Sie es, wenn es erweitert wird ...!
Das sind meine Screenshots
Wenn es geladen wird
Wenn ich auf eine Zelle klicken]
Wenn ich auf der zweiten Zelle klicken
Wenn ich auf die Zelle klicken die Dies sind der Code snips ich habe bereits erweitert verwendet ....
// 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;
}
Ich habe bereits den Animationsteil abgeschlossen .. Ich muss nur wissen, wie man den bestimmten Teil der Zelle versteckt ... Wie auch immer, ich werde auf Sie verweisen ... Ich habe bereits die erste überprüft – Gihan