带有多个单元配件按钮的表视图应该只需轻按一下即可打开和关闭弹出框

时间:2014-10-31 12:26:45

标签: ios uitableview uipopovercontroller accessoryview

我的问题类似于Close Popover and open new one with one tap。在我的情况下,我有一个UITableView多行。每行都有一个UITableViewCellAccessoryDetailDisclosureButton。当按下蓝色信息按钮时,弹出窗口被呈现给用户。现在用户想要在另一行中选择另一个信息按钮(如果弹出框没有隐藏它)。目前,用户必须点击两次:

  • 一个用于解雇当前的popover
  • 一个用于显示新popover

如果蓝色信息按钮可见,我希望这可以通过一次点击完成。从链接的SO问题解决方案应该使用

passthroughViews

我尝试使用表视图控制器视图,但它应该只是附件视图。此外,点击空表视图单元格不会再解除弹出窗口。如果点击了包含数据的单元格,则必须在didSelectRowAtIndexPath中的代码中手动关闭该弹出窗口。

如何获取桌子的所有附件视图?

1 个答案:

答案 0 :(得分:1)

这样的事情:

NSMutableArray *passthroughViews = [[NSMutableArray alloc] init];
for (UITableViewCell *cell in myTableView.visibleCells) {
    [passthroughViews addObject:cell.accessoryView];
}
[myPopover setPassthroughViews:passthroughViews];

注意,这意味着您必须将自己的配件视图添加到单元格而不是使用默认配件。