2

我有一个简单的表格视图,当用户点击一行时,它可以连接到更新视图控制器来编辑该行。问题:当表格视图处于“编辑模式”时,我想继续使用 update-view-contoller,否则什么都不会发生。

我正在使用 Storyboard 创建将原型单元链接到更新视图控制器的 segue。

仅当表格视图处于“编辑模式”时,关于如何使 segue 工作的任何想法?

这是我准备当用户从表格视图控制器中点击一行时调用的 segue 代码。我的 segue 有一个名为“ShowUpdate”的标识:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([[segue identifier] isEqualToString:@"ShowUpdate"]) {

        UpdateViewController *updateviewcontroller = [segue destinationViewController];

        NSIndexPath *myIndexPath = [self.tableView indexPathForSelectedRow];

        int row = [myIndexPath row];

        NSString *selectedRow = [NSString stringWithFormat:@"%d", row];

        updateviewcontroller.DetailModal = @[_Title[row], _Description[row], selectedRow];

    }

}

谢谢你的帮助

4

1 回答 1

3

一个简单的 if 检查isEditingtableView 的属性怎么样?

@property(nonatomic, getter=isEditing) BOOL editing

我不会从原型单元格中进行转场,而是将其从 ViewController 本身拖动,然后在didSelectRowAtIndexPath:委托方法中检查上述属性并从那里在代码中执行转场。

另外,您需要在 viewDidLoad 左右的某处设置 allowSelectionDuringEditing 属性。

self.tableView.allowsSelectionDuringEditing = YES;

代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (self.tableView.isEditing) {

    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
    [self performSegueWithIdentifier:@"ShowUpdate" sender:cell];
    }
}

赛格构造:

在此处输入图像描述

于 2014-03-20T06:31:50.193 回答