摘要:本文将带你了解IOS开发入门iOS开发:tableview位置错乱和偏移及回到原来位置,希望本文对大家学IOS有所帮助。
本文将带你了解IOS开发入门iOS开发:tableview位置错乱和偏移及回到原来位置,希望本文对大家学IOS有所帮助。
上拉刷新后发现数据位置错乱?tableview的偏移不对?比如数据一共有40条,一次加载20条,正常应该显示在第21条,上拉时加载后发现tableview停在了第11条或者30几条,如果你发生了和我一样的情况,那看这里
<code>- (void)addRefresh {
__weak typeof (self) weakSelf = self;
weakSelf.nomalTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
weakSelf.page = @"0";
[weakSelf tableReloadCtrlWithPage];
}];
weakSelf.nomalTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
NSInteger index = [self.page intValue];
index += 1;
weakSelf.page = [NSString stringWithFormat:@"%ld",(long)index];
[weakSelf tableReloadCtrlWithPage];
}];
[weakSelf.nomalTable.mj_header beginRefreshing];
}
// 这里的page指的是分页页数
// 当为if page == 1 else page += 1
- (void)tableReloadCtrlWithPage {
[self.nomalTable reloadData];
if (!self.dataArr.count?YES:NO) {
self.nomalTable.tableFooterView = [self getTableFootView:self.nomalTable.bounds str:@"nodata"];
}else{
self.nomalTable.tableFooterView = [UIView new];
}
NSInteger oldCnt = [self.dataArr count];
if (oldCnt > 0 && [self.page intValue] != 0) {
NSInteger row = oldCnt - 20;
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0];
[self.nomalTable scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
}
}</code>
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号