0

我尝试了大约一个小时来重新编码 UITableView 中的单元格。

我创建细胞

-(UITableViewCell *)tableView:(UITableView *)tV cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tV dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

// Set up the cell...



cell.textLabel.text = [array objectAtIndex:indexPath.row];
cell.showsReorderControl = YES;
return cell;
}

我有这个:

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}

和按钮方法

- (IBAction)delete:(id)sender {
if (self.btnLeft.tag == 0) {
    self.btnLeft.title = @"Zakończ";
    [self.tableView setEditing:YES animated:YES];
    self.btnLeft.tag = 1;
}
else if (self.btnLeft.tag == 1) {
    self.btnLeft.title = @"Edytuj";
    [self.tableView setEditing:NO animated:YES];
    self.btnLeft.tag = 0;
}
}

但是当我单击编辑按钮时setEditing to YES,我只能删除行,不能重新排序。当我有错误?我的意思是,右侧单元格的一侧没有重新排序图标。

4

1 回答 1

1

好的,我解决了。

要显示重新排序控件,您不仅必须设置此属性,还必须实现 UITableViewDataSource 方法 tableView:moveRowAtIndexPath:toIndexPath:。此外,如果数据源实现 tableView:canMoveRowAtIndexPath: 返回 NO,则重新排序控件不会出现在该指定行中。

于 2012-09-20T22:09:39.010 回答