0

我有一个单元格(videoCell),未选中时高度为 100px,选中时扩展为 144px。在展开的 44 像素中,我通过情节提要放置了一个工具栏(detailToolbar)。

现在这是我的问题。如果为工具栏启用了用户交互,则栏按钮可以工作,并且要简单地关闭单元格,我只需点击单元格的原始 100 像素中的任何一个。但是,当我尝试扩展单元格时,就会出现问题。如果我点击未选中单元格的底部 44 像素,则不会触发任何内容,但只有在顶部 56 像素被选中时才会响应。我假设单元格后面的 detailToolbar 阻止它工作。

这是我的一些代码。我正在使用Simon Lee 的教程来扩展单元格。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// If our cell is selected, return double height

if([self cellIsSelected:indexPath]) {

return 144.0;

}

// Cell isn't selected so return single height

return 100.0;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

// Deselect
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];

self.tableView.clipsToBounds = YES;


// Store cell 'selected' state keyed on indexPath
NSNumber *selectedIndex = [NSNumber numberWithBool:isSelected];
[selectedIndexes setObject:selectedIndex forKey:indexPath]; 

// This is where magic happens...
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
4

1 回答 1

0

我自己已经回答过了。我在 Did Select Row 方法中执行了以下操作:

for(NewsCell *cell in [self.tableView visibleCells]) {
    BOOL cellIsSelected = isSelected;
    [cell.detailToolbar setUserInteractionEnabled:cellIsSelected];
}

它完美无缺!

于 2012-05-20T04:49:58.587 回答