如何使多行选择在UISplitView的UITableView的子视图?(How to make m

2019-09-17 14:24发布

我想在UITableView的(uipopover视图)多行的选择是UISplitview的子视图。 所选行信息应在SPLITVIEW的详细信息窗格中显示拉布勒。

我设法让多行选择,但没有得到显示在详细信息窗格中选择的行信息。

任何帮助/代码片段,将不胜感激。

谢谢,

Answer 1:

既然你不给我们一些示例代码,我们不能为您提供精确的片段。 有很多方法来填充的tableView所以我们应该怎么知道你是怎么做的?

不过我会告诉你应该如何抽象工作。 您需要使用与当前选择或数组-作为@理查德·佩雷斯·坎波建议-你的属性添加到包含状态的数据模型(如selected )。

第2步,你会检查这个属性(或阵列),每次
一)更改选择OR
b)该tableView显示在屏幕上( viewWillAppear和弹出显示)

因此,你需要一个DataSource它可以从所有的地方(在你的情况PopoversplitViewdetailView

你说一个tableView已经工作,以便为第二问题是可能的选择dataSource
还有一种方法UITableView称为indexPathsForSelectedRows这将给你当前选择的数组。 您可以应用该选择其他tableView但它是一个hackish的方式,你一定要改变你的数据模型来代替。



Answer 2:

在表格视图控制器添加以下代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableView.allowsMultipleSelection = YES;
}

在表视图委托补充一点:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSArray *selectedRows = [tableView indexPathsForSelectedRows];

    NSMutableArray *mySelectedObjects = [NSMutableArray array];

    for (NSIndexPath *indexPath in selectedRows) {
        MyObject *object = [datasource objectAtIndex:indexPath.row];
        [mySelectedObjects addObject:object];
    }

    [self showSelectedObjectsInDetailPane];
}


文章来源: How to make multiple rows selection in UITableView subview of UISplitView?