我在創建UITableView中的CheckMarkAccessoryView時遇到了問題。當我在表中選擇一行時,我可以得到該行的選中標記,但隨機表中的其他一些行也會得到複選標記。我只需要那個單元格就可以得到複選標記。我可以怎麼做?我正在編寫一個獨佔列表。以下是我用過的代碼。iPhone的UITableViewCellAccessoryCheckMark
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if(tableView==tableView1) { return […arraycount1…. ]; } else { return […arraycount2…. ]; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; } else { UIView* subview; while ((subview = [[[cell contentView] subviews] lastObject]) != nil) [subview removeFromSuperview]; } if(tableView == tableView1) { cell.textLabel.text=[array1 objectAtIndex:indexPath.row]; } else //Tableview2 { cell.textLabel.text=[array2 objectAtIndex:indexPath.row]; } cell.textLabel.font=[UIFont fontWithName:@"Georgia" size:20]; cell.textLabel.textAlignment=UITextAlignmentLeft; [cell setSelectedBackgroundView:border]; return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:lastindex]; if (oldCell.accessoryType == UITableViewCellAccessoryCheckmark); { oldCell.accessoryType = UITableViewCellAccessoryNone; } UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath]; if (newCell.accessoryType == UITableViewCellAccessoryNone) { newCell.accessoryType = UITableViewCellAccessoryCheckmark; } }
請問我在哪裏錯了。 在此先感謝所有的專家。