Я добавил несколько элементов в список и вызвал [tableView reloadData];
Позиция tableView изменена. Что проблема?
https://thewikihow.com/video_N_LtoJLrsxE
---- добавлен ----
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if ([dataCenter.newsList count] > 0){
return [dataCenter.newsList count];
}
return 0;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
if ((((indexPath.row + 1) - 5) % 10) == 0 && indexPath.row >= 4){
return 150;
}
else if (((indexPath.row + 1) % 5) == 0){
return 95;
}
return 90;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NewsInTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"NewsInTableViewCell"];
return cell;
}
- (void) scrollViewDidScroll:(UIScrollView *)sender {
if (_tableNews.contentOffset.y + _tableNews.frame.size.height == _tableNews.contentSize.height){
[self requestDataByPage:(int)[dataCenter.newsList count]];
}
}
Это reloadData после вызова и добавления данных.
- (void) requestDataByPage:(int)start{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
------calling data and adding-----
dispatch_async(dispatch_get_main_queue(), ^{
[_tableNews reloadData];
});
});
}





звоните: self.tableView.reloadData() без [].
Если это не решит вашу проблему, дайте нам небольшой пример кода вашего проекта.
Извините, я не понял, что он говорит об Obj-C.
Добавьте ограничения Autolayout при перезагрузке табличного представления в основном потоке.
dispatch.async.main {
self.tableview.reloadData () }
И какие ограничения Autolayout добавить?
ограничение tablie для начала, конца, сверху и снизу по отношению к супервизору
Пытался добавить несколько автопложений. но такая же ситуация. Есть ли другой способ решения?
попробуйте установить цвет фона этого tableview на синий, а uitableviewCell - на красный. а затем обновите свой вопрос, добавив новые снимки экрана, чтобы понять суть проблемы.