0

選択されていないときの高さが100pxで、選択されているときは144pxに拡大するセル(videoCell)があります。拡張された 44 ピクセルで、ストーリーボードを介してツールバー (detailToolbar) を配置しました。

ここに私の問題があります。ツールバーでユーザー操作が有効になっている場合は、バー ボタンが機能し、セルを閉じるには、セルの元の 100 ピクセルのいずれかをタップするだけです。ただし、セルを拡張しようとすると問題が発生します。選択されていないセルの下部 44 ピクセルをタップすると、何もトリガーされませんが、上部 56 ピクセルが選択されている場合にのみ応答します。セルの背後にある detailToolbar が機能を妨げていると想定しています。

これが私のコードです。サイモン・リーのチュートリアルを使用してセルを展開しています。

- (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 に答える