Остановить перемещение TableView сверху вниз

У меня есть три вкладки в одном контроллере представления. Я использовал UIScrollView для прокрутки страниц (ViewControllers). На первой вкладке у меня есть UITableView, и когда я прокручиваю ее до конца (самый последний индекс или объект), UITableView полностью перемещается вверх. я пробовал это

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    let  height = scrollView.frame.size.height
    let contentYoffset = scrollView.contentOffset.y
    let distanceFromBottom = scrollView.contentSize.height - contentYoffset
    if distanceFromBottom < height {
        print(" you reached end of the table")

        if self.tableView.contentSize.height > self.tableView.frame.size.height {
            let  offset = CGPoint(x: CGFloat(0), y: CGFloat(self.tableView.contentSize.height - self.tableView.frame.size.height))
            self.tableView.setContentOffset(offset, animated: true)
        }
    }
}

Это не работает. Может ли кто-нибудь сказать мне, как решить эту проблему?

Спасибо за помощь заранее


person User    schedule 10.01.2017    source источник
comment
пожалуйста, поместите код этого   -  person Jitendra Modi    schedule 10.01.2017
comment
если я пишу это в viewdidload, он перемещается в самый низ при загрузке страницы, если self.tableView.contentSize.height › self.tableView.frame.size.height { let offset = CGPoint(x: CGFloat(0), y: CGFloat(self. tableView.contentSize.height - self.tableView.frame.size.height)) self.tableView.setContentOffset(смещение, анимация: true) }   -  person User    schedule 10.01.2017
comment
когда вы достигнете последнего индекса, просто вызовите для этого метод scrollToRowAtIndexPath и передайте 0 в качестве индекса. Это решит вашу проблему   -  person Jitendra Modi    schedule 10.01.2017
comment
где я должен написать и можете ли вы показать образец строки, как писать   -  person User    schedule 10.01.2017
comment
@IOS_PROGRAMMER Почему вы не используете UITableViewScrollPositionBottom для прокрутки UITableView вниз.   -  person dahiya_boy    schedule 10.01.2017
comment
Можете ли вы сказать мне, где писать в методе scrollview ???   -  person User    schedule 10.01.2017
comment
@IOS_PROGRAMMER Что на самом деле вы делаете, я не понимаю, поэтому, пожалуйста, опишите требуемый результат, опубликуйте скриншоты, если это возможно.   -  person dahiya_boy    schedule 10.01.2017
comment
@the_dahiya_boy я показываю несколько элементов в табличном представлении, и при прокрутке вниз снова табличное представление перемещается вверх, я просто заставляю табличное представление нормально работать с прокруткой, и у меня есть три вкладки в VC, мне нужно горизонтальное смахивание для контроллеров представления, поэтому я использовал прокрутку, и на первой вкладке у меня есть VC с табличным представлением в этом табличном представлении возникает проблема с прокруткой   -  person User    schedule 10.01.2017
comment
Отключить вертикальную прокрутку scrollView   -  person dahiya_boy    schedule 10.01.2017
comment
Давайте продолжим обсуждение в чате.   -  person User    schedule 10.01.2017


Ответы (1)


Если вы хотите просмотреть таблицу, прокрутите вниз:

tableView.scrollToRow(at: indexPath, at: UITableViewScrollPosition.bottom, animated: true)

И удалите делегата просмотра прокрутки.

person Sandeep Kumar    schedule 10.01.2017
comment
когда вы хотите прокрутить таблицу вниз. Нравится просмотр загрузился - person Sandeep Kumar; 10.01.2017
comment
indexPath будет последним индексом таблицы. - person Sandeep Kumar; 10.01.2017
comment
пусть indexPath = IndexPath (строка: array.count-1, раздел: 0) - person Sandeep Kumar; 10.01.2017