0

我正在使用xcode 4.6创建一个 iPhone 应用程序。我有三个ViewControllersA、B 和 C。它们都是 tableview 控制器。ViewcontrollerA我希望用户在和中选择多行ViewcontrollerB。然后ViewControllerC将显示所选项目。这可能吗?我该怎么做?

4

1 回答 1

0

首先,您应该[self.tableView setAllowsMultipleSelection:YES]为所有表格视图进行设置。从文档中,

If you call indexPathsForSelectedRows, you can get the index paths that identify the selected rows.

假设你的 C 中有一个 ViewControllerA/B * 属性,你可以这样做:

在 ViewControllerC.m 中:

- (void)makeCellsSelected
{
    for (NSIndexPath *indexPath in [self.viewControllerA indexPathsForSelectedRows]) {
        [[self.tableView cellForRowAtIndexPath:indexPath] setSelected:YES];
    }
}

编辑更容易如下:ViewControllerB.m:

ViewControllerC *vcC = [ViewControllerC alloc] init];
    for (NSIndexPath *indexPath in [self.tableView indexPathsForSelectedRows]) {
        [[vcC.tableView cellForRowAtIndexPath:indexPath] setSelected:YES];
    }

[self.navigationController pushViewController:vcC animated:YES];

所以你的 C 会出现已经选择的行

于 2013-03-06T00:36:39.807 回答