I have two UITableViewControllers. In the first UITableView, once a user selects a cell, a new UITableViewController is pushed. I have set both UITableViews to “Grouped” in IB. However, when the second UITableViewController is pushed, it appears as a “Plain” UITableView. Is there a way to fix this?
Just as a sanity check, I changed the code so that the second UITableViewController is pushed not from the first UITableViewController, and it does appear to be “Grouped”. Is there a reason this is happening?
Code From UITableViewController that is pushing second UITableViewController:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if ([cell.text isEqualToString:@"Long Term Disability"]) {
LongDisabilityTableView *ldvc = [LongDisabilityTableView alloc];
[self.navigationController pushViewController:ldvc animated:YES];
}
if ([cell.textLabel.text isEqualToString:@"Short Term Disability"]) {
ShortDisabilityTableView *sdvc = [ShortDisabilityTableView alloc];
[self.navigationController pushViewController:sdvc animated:YES];
}
}
If you are pushing to a
UITableViewController, you can force the table to be grouped by doing one of the following:Init
Super
This needs to be added to a
UITableViewController.Double Check
Make sure that you are not placing your
UITableViewon aUIViewController.Make sure that you are calling the correct controller in your code (from
didSelectRowAtIndexPath:)Update, added after code
Well there’s one reason right there, you aren’t using init. See my first example above.
You should also change your code to this: