быстрое обновление contentOffset в tableView - PullRequest
0 голосов
/ 25 марта 2019

обновить contentOffset в tableView (при прокрутке)

let oldContentHeight: CGFloat = tableView.contentSize.height
let oldOffsetY: CGFloat = tableView.contentOffset.y
let oldIns = insertCounter
insertCounter += Int(INSERT_MESSAGES)

tableView.reloadData()
let newContentHeight: CGFloat = tableView.contentSize.height
tableView.contentOffset.y = oldOffsetY + (newContentHeight - oldContentHeight)

Это работает правильно - прокрутка вниз, но когда я заменяю reloadData на insertSection, это не работает:

    let oldContentHeight: CGFloat = tableView.contentSize.height
    let oldOffsetY: CGFloat = tableView.contentOffset.y
    let oldIns = insertCounter
    insertCounter += Int(INSERT_MESSAGES)

    let minn = min(insertCounter, Int(dbmessages.count))
    print(minn)
    if oldIns < minn {
        tableView.beginUpdates()
        tableView.insertSections(IndexSet(integersIn: oldIns..<minn), with: .automatic)
        tableView.endUpdates()
        tableView.layoutIfNeeded()

    }
    let newContentHeight: CGFloat = tableView.contentSize.height
    let of = oldOffsetY + (newContentHeight - oldContentHeight)
    tableView.contentOffset.y = oldOffsetY + (newContentHeight - oldContentHeight)

Это не прокручивается вниз. В чем проблема ? Как я могу это исправить?

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