It is easy to see, that the lightblue is a UITableViewHeaderFooterView
UITableViewCell
NSFetchedResultsController
viewDidLoad
tableView.registerNib(UINib(nibName: "PBOUserWorkDayHeaderView", bundle: nil), forHeaderFooterViewReuseIdentifier: PBOUserWorkDayHeaderViewIdentifier)
Since it is a problem with headers, I created a custom method to remove unnecessary headers every time when tableView
ask for `viewForHeaderInSection:.
Assuming that you know how to distinguish the headers from other views (in my case they have a custom class) and that you know that header views are direct subviews of tableView
you can remove them in following way:
private func removeDoubledHeaders() {
let subviews = tableView.subviews.reverse()
var dates = [String]()
for view in subviews {
if let header = view as? PBOUserWorkDayHeaderView {
if let date = header.dateLabel.text {
if contains(dates, date) {
view.removeFromSuperview()
} else {
dates.append(date)
}
}
}
}
}