未调用accessoryButtonTappedForRowWithIndexPath

时间:2014-03-07 21:19:49

标签: tableview

我从视图控制器添加了一个视图,它在父视图控制器中将UITableView显示为子视图。

我已将表视图的委托和数据源设置为具有视图的控制器。

当我在表视图上选择单元格时,我进入didSelectRowAtIndexPath并且我能够将下一个视图推送到导航控制器。所以数据源和委托似乎正在发挥作用。

然而,附件按钮不起作用。对于单元格,accessoryView为nil,当我从cellForRowAtIndexPath返回单元格时,accessoryType设置为UITableViewCellAccessoryDe​​tailDisclosureButton。当我向左滑动时,我会看到删除按钮,但是当我触摸它时它也不起作用。然而,细胞工作正常。

唯一不寻常的是我使用不同故事板中的表视图来实例化视图控制器,而不是我用于应用程序的初始视图。

非常感谢任何想法。

1 个答案:

答案 0 :(得分:0)

检查UItableview编辑行委托

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

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{

NSString *stringToMove = weekDaySchedule [sourceIndexPath.row];
[weekDaySchedule removeObjectAtIndex:sourceIndexPath.row];
[weekDaySchedule insertObject:stringToMove atIndex:destinationIndexPath.row];

[self.tableView reloadData];

}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {

[weekDaySchedule removeObjectAtIndex:sourceIndexPath.row];    }
editingStyle = NO;
}