UISplitViewController and setViewController:forColumn: differences between different iOS versions

It seems to be that the functionality of the method setViewController:forColumn: in the column-style layout of a UISplitViewController has changed.

iOS 18: setViewController:forColumn: pushes a new view controller onto the UINavigationController if it existed before the call. iOS 26: setViewController:forColumn: sets or replaces the view controller with a new view controller as a root of a new UINavigationController.

My questions:

  • what is the intended behavior? I did not find any documentation about a change.
  • how do I replace in iOS 18 the old view controller with the new view controller passed to setViewController:forColumn:?
UISplitViewController and setViewController:forColumn: differences between different iOS versions
 
 
Q