Остановить автоматическую прокрутку таблицы при перезагрузке - PullRequest
1 голос
/ 10 февраля 2020

Моя проблема в том, что когда я нажимаю на плюс или минус, я перезагружаю таблицу, и это нормально, но когда она перезагружается, она автоматически прокручивается, а заголовок моего раздела мигает. Я приложил клип для большего разрешения.

И я использовал этот код для перезагрузки таблицы

let contentOffset = tblItemList.contentOffset
tblItemList.reloadData()
tblItemList.layoutIfNeeded()
tblItemList.setContentOffset(contentOffset, animated: false)

Добавлено

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


    let cell = tableView.dequeueReusableCell(withIdentifier: "ItemCell", for: indexPath) as! ItemCell

    if arrCategoryList.count > 0 {
        let data = (arrCategoryList[indexPath.section].product_list ?? [])[indexPath.row]
        cell.setItemData(data)

        if data.is_added {
            cell.btnAdd.isHidden = true
            cell.lblQuantity.text = "\(data.product_quantity)"
        }
        else {
            cell.btnAdd.isHidden = false
        }

        cell.btnMinus.tag = indexPath.row
        cell.btnPlus.tag = indexPath.row
        cell.btnAdd.tag = indexPath.row

        cell.btnAdd.addTarget(self, action: #selector(onClickAdd), for: .touchUpInside)
        cell.btnPlus.addTarget(self, action: #selector(onClickPlus), for: .touchUpInside)
        cell.btnMinus.addTarget(self, action: #selector(onClickMinus), for: .touchUpInside)
    }
    return cell
}

1 Ответ

0 голосов
/ 10 февраля 2020

Вы перезагружаете весь tableView для обновления отдельной ячейки. Просто используйте tableView.reloadRows (at: [IndexPath (row: // row идет сюда, section: // section идет сюда)], с: .automati c) , и мигание заголовка может быть из-за того, что вы используя UItableViewCell в качестве представления заголовка. Просто используйте UITableHeaderFooterView с помощью XIB и зарегистрируйте его как HeaderView в вашем tableView. Просто посмотрите это для заголовка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...