MGSwipeTableCell левые и правые кнопки смахивают представления не обновляются после перезагрузки в представлении сегментированной таблицы - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть сегментированное табличное представление с 2 сегментами, скажем, слева и справа.Оба сегмента могут иметь пролистывание влево или вправо.Я использую MGSwipeTableCell для достижения этой цели, и она отлично работает.Теперь проблема заключается в том, что когда я делаю свайп и переключаю сегменты, данные ячейки табличного представления обновляются, но левая и правая кнопки свипирования не обновляются.Например: согласно приведенному ниже коду, если я сделаю пролистывание слева направо на левом сегменте, оно будет отображать заголовок левой кнопки как «Выбор», но если я переключусь на правый сегмент и проведу пролистывание в той же строке ячейки, оно все равно будет отображать «Выбор».вместо «Добавить».Если я делаю прокрутку и возвращаюсь, она работает нормально, также, когда я регистрируюсь, левая кнопка ячейки регистрирует ее как «Добавить», но в пользовательском интерфейсе она не обновляется.Любая идея, в чем может быть проблема?Любая помощь приветствуется.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        if indexPath.row == myDataModel.totalCount()
        {
            guard let fCell = tableView.dequeueReusableCell(withIdentifier: CellIdentifiers.footerCell, for: indexPath) as? FooterTableViewCell else {return UITableViewCell()}

            fCell.delegate = self

            fCell.setFooterTitle(selectedSegmentIndex)

            return fCell
        }

        guard let cell = tableView.dequeueReusableCell(withIdentifier: CellIdentifiers.myCell, for: indexPath) as? MyTableViewCell else {return UITableViewCell()}

        cell.delegate = self

        if indexPath.row < myDataModel.totalCount() {

            //configure left buttons
            cell.leftButtons = [MGSwipeButton.init(title: (selectedSegmentIndex == 0) ? "Pick":"Add" , backgroundColor: UIColor.red)]

            cell.leftSwipeSettings.transition = .drag

            //configure right buttons
            cell.rightButtons = [MGSwipeButton.init(title: (selectedSegmentIndex == 0) ? "Drop":"Remove" , backgroundColor: UIColor.black)]
            cell.rightSwipeSettings.transition = .drag

            if let viewModel = myDataModel(indexPath.row) {
                cell.configure(viewModel)
            }

            if cell.swipeState != .none {
                cell.hideSwipe(animated: false)
                cell.refreshContentView()
            }

        }

        return cell

    }


 func updateTableOnSelection()
    {
        self.updateDataModel(selectedSegmentIndex)
        self.myTableView.contentOffset = .zero
        self.myTableView.layoutIfNeeded()
        self.myTableView.reloadData()
    }
...