Я использую разбивку на страницы в UITableView, после первой загрузки, когда вот-вот появятся следующие элементы, или когда я перезагружаю tableView, он мигает на секунду, а затем доходит до последней позиции. Но это происходит не каждый раз, когда трудно решить эту проблему. Кто-нибудь может мне помочь?
Вот код, который я использую для перезагрузки данных в tableView
func handleWSSuccessResponse(_ arrRestaurant:[Restaurant],filterBy:filteringByValues){
let offSet = self.IBtblUserFeed.contentOffset
print(arrRestaurant.count)
if (self.arrRestaurants.count > 0) {
if arrRestaurant.count > 0 && arrRestaurant.count <= 10 {
if arrRestaurant.count % 10 != 0 {
isDataLoading = false
actInd.stopAnimating()
}
if !(self.isFromRefresh) {
self.arrRestaurants = self.arrRestaurants + arrRestaurant
}
DispatchQueue.main.async {
if (self.isFromRefresh) {
self.IBtblUserFeed.reloadData()
} else {
UIView.setAnimationsEnabled(false)
self.IBtblUserFeed.reloadData()
UIView.setAnimationsEnabled(true)
self.IBtblUserFeed.layoutIfNeeded()
self.IBtblUserFeed.setContentOffset(offSet, animated: false)
}
}
} else {
isDataLoading = false
DispatchQueue.main.async {
if (self.isFromRefresh) {
self.IBtblUserFeed.reloadData()
} else {
UIView.setAnimationsEnabled(false)
self.IBtblUserFeed.reloadData()
self.IBtblUserFeed.layoutIfNeeded()
self.IBtblUserFeed.setContentOffset(offSet, animated: false)
UIView.setAnimationsEnabled(true)
}
}
}
} else {
self.arrRestaurants = arrRestaurant
if arrRestaurant.count % 10 != 0 {
isDataLoading = false
actInd.stopAnimating()
}
if self.arrRestaurants.count == 0 {
self.IBtblUserFeed.tableHeaderView = nil
self.IBtblUserFeed.tableHeaderView?.isHidden = true
} else {
if filterBy.isFiltering{
} else {
self.IBtblUserFeed.tableHeaderView = self.header()
}
self.IBtblUserFeed.tableHeaderView?.isHidden = false
}
if filterBy.isFiltering{
self.reloadTableView()
// tejas changes
// filterRestaurant(filterBy: filterBy)
}else{
self.reloadTableView()
}
}
}