Can I force a UITableView to hide the separator between empty cells? [duplicate]
For iOS 7.* and iOS 6.1
The easiest method is to set the tableFooterView
property:
- (void)viewDidLoad { [super viewDidLoad]; // This will remove extra separators from tableview self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];}
For previous versions
You could add this to your TableViewController (this will work for any number of sections):
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { // This will create a "invisible" footer return 0.01f; }
and if it is not enough, add the following code too:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ return [UIView new]; // If you are not using ARC: // return [[UIView new] autorelease];}
For Swift:
override func viewDidLoad() { super.viewDidLoad() tableView.tableFooterView = UIView() // it's just 1 line, awesome!}
You can achieve what you want by defining a footer for the tableview. See this answer for more details:Eliminate Extra separators below UITableView