У меня есть описание, заголовок в ячейке. У некоторых заголовков есть описание, которых у некоторых нет. я хочу анимировать (увеличить размер) строку на основе описания, если нет описания, ячейка не должна увеличивать размер, где, как если бы было описание, ячейка должна увеличиваться. Данные заголовка и описания извлекаются из sql db. Я создал анимационную часть, у меня проблемы с увеличением размера ячейки только для части описания. - (void) tableViewUITableView *) tableView cellForRowIndexNSIndexPath *) indexPath, который я определил описание, которое получает значение из descriptionArray
- (BOOL)cellIsSelected:(NSIndexPath *)indexPath;
@end
@implementation LOAnimatedCellDemoViewController
#define kCellHeight 50.0
- (void)viewDidLoad {
[super viewDidLoad];
selectedIndexes = [[NSMutableDictionary alloc] init];
}
- (void)viewDidUnload {
[selectedIndexes release];
selectedIndexes = nil;
[super viewDidUnload];
}
- (BOOL)cellIsSelected:(NSIndexPath *)indexPath {
// Return whether the cell at the specified index path is selected or not
NSNumber *selectedIndex = [selectedIndexes objectForKey:indexPath];
return selectedIndex == nil ? FALSE : [selectedIndex boolValue];
}
#pragma mark -
#pragma mark Tableview Datasource Methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 20;
}
#pragma mark -
#pragma mark Tableview Delegate Methods
- (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...
[demoTableView beginUpdates];
[demoTableView endUpdates];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// If our cell is selected, return double height
if([self cellIsSelected:indexPath]) {
return kCellHeight * 2.0;
}
// Cell isn't selected so return single height
return kCellHeight;
}
@end