2011-12-01 50 views
0

我在彈出窗口中有一個UITableview。我似乎無法取消選擇動畫或工作。複選標記停留在上一個選定的行上(複選標記從我的Model類中設置,它只是一個NSDictionary,其中一個值爲@「YES」,其他所有值爲@「NO」。當關閉彈出窗口時,以及重新打開它,複選標記是正確的,但我似乎無法得到它而酥料餅是開放的。思考?謝謝。deselectRowAtIndexPath沒有被調用

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSUInteger row = [indexPath row]; 
     UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
     cell.selectionStyle = UITableViewCellSelectionStyleNone; 
     cell.accessoryType = UITableViewCellAccessoryCheckmark; 
//  [cell setSelected:YES animated:YES]; 
     [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

回答

1

deselectRowAtIndexPath不會刪除的UITableViewCell的accessoryView的,它消除了高亮(藍色)的背景。所述的UITableViewCell的下面的代碼設置的細胞的複選標記:

cell.accessoryType = UITableViewCellAccessoryCheckmark;

要刪除該單元格中的複選標記,您必須執行以下操作:

cell.accessoryType = UITableViewCellAccessoryNone;