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];
}
}
}
}