我在CustomCell中添加了很多东西,它的工作效果非常好。 但是,有一件事我无法解决..
我的要求是,对于分组的TableView,在点击单个UITableViewCell时,它应该在下面扩展,有点动画并在下面扩展并在该单元格中显示更多信息。
在点击已经扩展的单元格时,它应该返回到“正常”单元格状态。
我在这里的任何方向都会很棒..
另外,看看下面的代码,有一个单元格的变量,我正在向cell.acccessoryVIew添加一个图像,但是,有一些例子,他们编写了在 if(cell == nil){}。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *kCustomCellID = @"MyCellDetailSym";
CustomCell *cell = (CustomCell *)[self.tableView dequeueReusableCellWithIdentifier:kCustomCellID];
if (cell == nil)
{
cell = (CustomCell *)[[[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:kCustomCellID] autorelease];
}
cell.checkNeeded = YES;
appdelegate *appDelegate = (appdelegate *)[[UIApplication sharedApplication] delegate];
customClass *nSym = (customClass *)[ArrayCache objectAtIndex:indexPath.row];
if([appDelegate.sMap containsObject:[NSString stringWithFormat:@"%d",[nSym pKey]]]) { cell.checked=YES; } else cell.checked = NO;
if([appDelegate.favoriteSymArray containsObject:[NSString stringWithFormat:@"%d",[nSym pKey]]]) { cell.starred=YES; } else cell.starred = NO;
cell.title = nSym.txtSym;
UIImage *starredImage = [UIImage imageNamed:@"Star_list_active.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect frame = CGRectMake(0.0, 0.0, starredImage.size.width + 5 , starredImage.size.height + 5);
button.frame = frame;
UIImage *image = (cell.starred) ? starredImage: [UIImage imageNamed:@"Star_list_inactive.png"];
//UIImage *newImage = [image stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0];
[button setEnabled:YES];
[button setBackgroundImage:image forState:UIControlStateNormal];
[button addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];
button.backgroundColor = [UIColor clearColor];
cell.accessoryView = button;
return cell;
}
谢谢你们
答案 0 :(得分:0)
我这样做的方法是调用- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
将下一行指定为插入行,并使用UITableViewRowAnimationTop
设置动画以创建下拉效果。要完成单元格“扩展”错觉,请确保separatorColor
符合您的背景。
不要尝试调用委托方法来调整行高;据我所知,它不会动画。