I have a UITableView to which I am adding tableFooterView , for some reason tableFooterView does not appear?
How do I add my tableFooterView
I add tableFooterView to the connectionDidFinishLoading method after reloading the tableview data.
So what i do
[controls reloadData]; UIView *myFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; if(self.item.canRunOnDemand) { UIButton *buttonRunWorkflow = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [buttonRunWorkflow addTarget:self action:@selector(runWorkflow:) forControlEvents:UIControlEventTouchDown]; [buttonRunWorkflow setTitle:@"Run Now" forState:UIControlStateNormal]; buttonRunWorkflow.frame = CGRectMake(15, 5, 290, 44); buttonRunWorkflow.backgroundColor = [UIColor clearColor]; [buttonRunWorkflow setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [myFooterView addSubview:buttonRunWorkflow]; } if(item.canRunAlways) { UILabel *canRunAlwaysLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 46, 100, 44)]; canRunAlwaysLabel.backgroundColor = [UIColor clearColor]; canRunAlwaysLabel.text = @"Run Always:"; UISwitch *canRunAlways = [[UISwitch alloc] initWithFrame:CGRectMake(115, 56, 100, 44)]; [canRunAlways addTarget:self action:@selector(canRunAlwaysChanged:) forControlEvents:UIControlEventValueChanged]; [myFooterView addSubview:canRunAlways]; [myFooterView addSubview:canRunAlwaysLabel]; [canRunAlwaysLabel release]; [canRunAlways release]; } [myFooterView release]; [controls.tableFooterView addSubview:myFooterView];
Footer height
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return 100; }
I also tried this:
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { if(section == [[fields objectAtIndex:section] count] - 1) { return 100; } else { return 0; } } -(UIView*) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { if(section == [[fields objectAtIndex:section] count] - 1) { UIView *myFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 80)]; if(self.item.canRunOnDemand) { UIButton *buttonRunWorkflow = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [buttonRunWorkflow addTarget:self action:@selector(runWorkflow:) forControlEvents:UIControlEventTouchDown]; [buttonRunWorkflow setTitle:@"Run Now" forState:UIControlStateNormal]; buttonRunWorkflow.frame = CGRectMake(15, 5, 290, 44); buttonRunWorkflow.backgroundColor = [UIColor clearColor]; [buttonRunWorkflow setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [myFooterView addSubview:buttonRunWorkflow]; } if(item.canRunAlways) { UILabel *canRunAlwaysLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 46, 100, 44)]; canRunAlwaysLabel.backgroundColor = [UIColor clearColor]; canRunAlwaysLabel.text = @"Run Always:"; UISwitch *canRunAlways = [[UISwitch alloc] initWithFrame:CGRectMake(115, 56, 100, 44)]; [canRunAlways addTarget:self action:@selector(canRunAlwaysChanged:) forControlEvents:UIControlEventValueChanged]; [myFooterView addSubview:canRunAlways]; [myFooterView addSubview:canRunAlwaysLabel]; [canRunAlwaysLabel release]; [canRunAlways release]; } return myFooterView; } else { return nil; } }
source share