Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hide footer view in UITableView

Tags:

I have been working to hide the footerview for while. My problem is I have a button in footer when I click the button one section will be added below as the last section and the button too will shift to the newly created section and now I want to hide the footer in the previous section of the table after the update of sections.

footerView.hidden = YES 

I used this in the button action but its not working.

like image 493
New Xcoder Avatar asked Jul 12 '12 05:07

New Xcoder


1 Answers

There are four solutions. They are,

Solution 1:

tableView.sectionHeaderHeight = 0.0; tableView.sectionFooterHeight = 0.0;  - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger )section {     return 1.0; }  - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger )section {     return 1.0; }  - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger )section {     return [[UIView alloc] initWithFrame:CGRectZero]; }  - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger )section {     return [[UIView alloc] initWithFrame:CGRectZero]; } 

Solution 2:

You can set the footer/header height via interface builder under the size tab.

Solution 3:

set contentInset property.

self.tableView.contentInset = UIEdgeInsetsMake(-20, 0, -20, 0); 

It is used to make the top and bottom touch the edge.

Solution 4:

implement the below, set the values as per your condition. 0.0 will not be accepted. The lower value should be 1.0.

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger )section {     if(section == 0) {        return 6;     } else {        return 1.0;     } }  - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger )section {     return 5.0; }  - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger )section {     return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; }  - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger )section {     return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; } 
like image 56
Shamsudheen TK Avatar answered Sep 19 '22 16:09

Shamsudheen TK