ios设置点击状态栏返回到顶部
在一个scrollview中横向有多个tableview,点击状态栏,tableview要返回到顶部
要将所有scrollview 以及tableview 的scrollToTop设置为NO。显示的tableview的scrollToTop设置为TRUE。
@property(nonatomic,strong) NSMutableArray *tdoclist;
//设置一个数组,存储tableview
self.tdoclist=[NSMutableArray arrayWithCapacity:10];
for (int i=0; i<[self.category count]+1; i++) {
[[[CommenData alloc]init] setCategoryIndex:[self getCategoryIndex:i]];
if (i==0) {
self.doctable=[self.storyboard instantiateViewControllerWithIdentifier:@"docview"];
self.doctable.view.frame=CGRectMake(r.size.width*i, 0.0, r.size.width, r.size.height-40);
[self addChildViewController:self.doctable];
self.doctable.tableView.scrollsToTop=YES;
[self.tdoclist addObject:self.doctable];
[self.tableScroll addSubview:self.doctable.view];
}else{
self.tdoctable=[self.storyboard instantiateViewControllerWithIdentifier:@"tdocview"];
self.tdoctable.view.frame=CGRectMake(r.size.width*i, 0.0, r.size.width, r.size.height-40);
[self addChildViewController:self.tdoctable];
self.tdoctable.tableView.scrollsToTop=NO;
[self.tdoclist addObject:self.tdoctable];
[self.tableScroll addSubview:self.tdoctable.view];
}
}
//左右滑动页面切换tableview时切换 tableview的scrollToTop属性
//加载之后的一页
if (scrollView==self.tableScroll) {
CGFloat pageWidth=scrollView.frame.size.width;
int page=floor((scrollView.contentOffset.x-pageWidth/2)/pageWidth)+1;
if (page!=indexPage) {
//可以继续滚动
if (indexPage<[self.category count]+1) {
indexPage=page;
[self.scrollnavi setSelectedIndex:indexPage];
for (int i=0; i<self.tdoclist.count; i++) {
TDocTableViewController *tdocs = self.tdoclist[i] ;
if (i==indexPage) {
tdocs.tableView.scrollsToTop=YES;
}else{
tdocs.tableView.scrollsToTop=NO;
}
}
//若直接用self.tdoc 只会刷新最后一个页面
TDocTableViewController *tdoc = self.tdoclist[indexPage] ;
[tdoc refreshData];
}
}
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。