TableViewCell的IBAction触发多个单元格

时间:2018-11-29 10:40:35

标签: ios uitableview ibaction

我有一个带有动态单元格的UITableViewController

在我的tableViewCellForRowAtIndexPath中,将indexPath.row设置为该单元格中一个子视图的标记。单击该子视图时会有一个IBAction。

在我的自定义TableViewCell中,当单击此子视图时,我会调用一个侦听器,并提供tag的值作为参数,以便TableViewController可以对其执行操作。

这就是我要做的:(它在Java中,因为我使用的是multi-os-engine,但它与swift / obj-c非常相似)

@Override
    public void onOrderClicked(long index) {
        OrdersTableViewCell cell = (OrdersTableViewCell) ordersList().cellForRowAtIndexPath(NSIndexPath.indexPathForRowInSection(index, 0));

        if (cell.arrowView().image().equals(UIImage.imageNamed("downarrow"))) {
            cell.arrowView().setImage(UIImage.imageNamed("uparrow"));
            cell.orderDetailsView().setHidden(false);
        }
        else {
            cell.arrowView().setImage(UIImage.imageNamed("downarrow"));
            cell.orderDetailsView().setHidden(true);
        }

基本上,我只是更改单元格中一个子视图的隐藏状态。实际上,这很好。 但是,当单击我的一个元素时,子视图的隐藏状态有时不仅会从此单元格更改,还会从另一个单元格更改。我不明白为什么。有关更多信息:有多个单元格,因此我什至必须滚动才能看到它们。而且,当单击我的一个单元格时,另一个单元格的隐藏状态也会改变,这不在屏幕atm中。

任何人都可以暗示我做错了什么或为什么会这样?

0 个答案:

没有答案