iOS 14 vs iOS 15 - Are there changes in how table views adjust their scroll view offsets?

We are seeing an issue on iOS 15 only where the table view has a content offset of (x: 0, y: -91) yet in iOS 14 the content offset is (x: 0, y: 0). It looks like the first row of the table view does not start at the top of the table view. Researching this previously led me to believe that setting tableView.contentInsetAdjustmentBehavior = .never would resolve the issue but that doesn't seem to do anything. The issue on exists in iOS 15 so is there anything that changed regarding how content offset and layout constraints are handled with table views?

It looks like tableView.contentInsetAdjustmentBehavior = .never does help in the sense where the table view now starts behind the navigation bar yet we need to explicitly set the top constraint on the table view = 56. I am not sure how we get to 56 but this seems like a hack to calculate this offset based on the device.

There are many posts here which indicate there were changes (poorly documented it seems).

May be some solution described here could be useful in your case:

https://developer.apple.com/forums/thread/683980

 ios 15 for the Plain table view style they add a Section header padding by default, I wish it was a checkbox or something so we dont have to have it (especially by default) since alot of us are using custom section headers, BUT they did add a function to manually set it in your viewDidLoad

     if (@available(iOS 15.0, *)) {
       [self.tableView setSectionHeaderTopPadding:0.0f];
     }

this should remove the padding or that "gap" you are seeing.

iOS 14 vs iOS 15 - Are there changes in how table views adjust their scroll view offsets?
 
 
Q