IBAction от TableViewCell запускает несколько ячеек - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть 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);
        }

В основном я просто изменяю скрытое состояние одного подпредставления в своей ячейке.На самом деле это работает нормально. НО при нажатии на один из моих элементов скрытое состояние подпредставления иногда меняется не только из этой ячейки, но и из другой.Я не понимаю почему.Для получения дополнительной информации: Есть несколько ячеек, так что мне даже нужно прокрутить, чтобы увидеть их все.А при нажатии на одну из моих ячеек меняется и скрытое состояние другой ячейки, которого нет в атм экрана.

У кого-нибудь есть подсказка, что я делаю неправильно или почему это происходит?

...