標籤:with uitable elf ini delegate group tab ids code
蘋果官方給我提供TableView的FooterView和HeaderView停留在頂部的非常不錯效果,有時候我們不須要這些FooterView和HeaderView停留在底部或者上部,如今就以FooterView為例,說一下我開發中的解決方案:(眼下兩種)
第一種方法:在初始化TableView時將TableView的樣式設定為UITableViewStylePlain,同一時候重寫tableView的scrollViewDidScroll:(UIScrollView *)scrollView
詳細代碼例如以下:
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain];</span>
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ CGFloat sectionHeaderHeight = 10;//設定你footer高度 if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) { scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0); } else if (scrollView.contentOffset.y>=sectionHeaderHeight) { scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0); } }</span>
另外一種方法:在初始化TableView時將TableView的樣式設定為UITableViewStyleGrouped,同一時候在UITableView的代理方法中,將FooterView的高度設定為一個很小(不留下可見空隙)的值,就好啦!(這裡注意,不能設定為0,否者tableView會覺得你沒有設高度就會採取預設高度)
詳細代碼:
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped]; tableView.delegate = self; tableView.dataSource = self;</span>
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 0.0001f;}
【iOS】TableView的footerView不隨cell滾動而停留在tableView底部的問題