Hi All,
Similar to what others are reporting with UINavigationController, it appears in iOS 11, insertSubview behaves differently that in iOS 10 or below.
In my viewDidLoad on a UITableViewController
let backgroundImageView = UIImageView()
backgroundImageView.frame = self.view.frame
backgroundImageView.image = UIImage(named: "background")
view.insertSubview(backgroundImageView, at: 0)I have apps using this for eons to but a simple background behing a UITableViewController. In iOS 9 and iOS 10, my "blue background" apprear at index 0, and thus behind the tableView.
In testing for iOS 11, the simulator now has the "blue background" at the top of the subviews - thus occluding the actual table cells, etc. I can verify using Xcode 9 GM and an iOS 10 simulor and iOS 11 simulator. When debugging and using the "Debug View Hierarchy", I can clearly see iOS 10 places the background behind all (index 0) and for iOS11, it places it at the top.
I realize I can use:
tableView.backgroundView = backgroundImageView;I just am unsure if this is a bug or intended by Apple.
Here is a link to the similar issues with UINavigationController.