我有一个带有动态单元格的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中。
任何人都可以暗示我做错了什么或为什么会这样?