以下是我在tableview cellForRowAtIndexPath
上使用的一段代码。
if ([[listOfQueOverview valueForKey:@"EXPENSEDETAILID"] containsObject:(_isDrilldown) ? cust.DETAILACCT : listOfOverview[0] ACCOUNTNUMBER) {
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
} else {
[cell setAccessoryType:UITableViewCellAccessoryNone];
}
这允许我在敲击单元时切换附件。我遇到的问题是当一个单元格出列时,该附件会重置为无。如果我在那个特定的单元格上用勾选滚动
,我怎么能强制它保持勾选标记答案 0 :(得分:0)
您可以执行以下操作。每当用户点击复选标记以设置UITableViewCellAccessoryCheckmark时,将行添加到checkedIndices
数组,如下所示:[checkedIndices addObject:@(indexPath.row)];
在你班上:
@property (nonatomic, strong) NSMutableArray *checkedIndices;
// ....
self.checkedIndices = [@[]mutableCopy];
// ....
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"CellIdentifier";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
cell.accessoryType = UITableViewCellAccessoryNone;
}
if ([checkedIndices containsObject:@(indexPath.row)]) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
}