我有一个单元格(videoCell),未选中时的高度为100px,选中时则扩展为144px。在扩展的44像素中,我通过故事板放置了一个工具栏(detailToolbar)。
现在这是我的问题。如果为工具栏启用了用户交互,则条形按钮可以工作,只需关闭单元格,我就可以点击单元格的原始100px中的任何一个。但是,当我试图扩展一个单元时,问题就出现了。如果我点击未选中单元格的底部44px,则不会触发任何内容,但只有在选择前56个像素时才会响应。我假设单元格后面的detailToolbar阻止它工作。
这是我的一些代码。我正在使用Simon Lee's tutorial扩展细胞。
- (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];
}
答案 0 :(得分:0)
我自己也回答了。我在Did Select Row方法中执行了以下操作:
for(NewsCell *cell in [self.tableView visibleCells]) {
BOOL cellIsSelected = isSelected;
[cell.detailToolbar setUserInteractionEnabled:cellIsSelected];
}
它完美无缺!