Hello. I've been testing our app on iOS and I've noticed a weird behaviour that happens on iOS 14, but it doesn't happen on iOS 13. It's regarding the navigation stack and how it works.
Say I have a navigation stack of [A, B, C], where C is of course the topmost view controller. I have a button in the C view controller which gets the navigation stack, removes C and then B, and finally it adds a new view controller D. Then I set the new stack to the navigation controller.
On iOS 13, the resulting stack is [A, D].
On iOS 14, the resulting stack is [C, A, D]. Somehow, it didn't let me remove the current view controller from the stack, but it did add to the bottom of the stack.
My only explanation has been that it has something to do with the new navigation history feature in iOS 14 (long hold on the Back button). Somehow this introduced some new constraints on the management of the navigation stack.
Hopefully someone can help me understand the new behaviour.
Regards,
Cristian
Say I have a navigation stack of [A, B, C], where C is of course the topmost view controller. I have a button in the C view controller which gets the navigation stack, removes C and then B, and finally it adds a new view controller D. Then I set the new stack to the navigation controller.
On iOS 13, the resulting stack is [A, D].
On iOS 14, the resulting stack is [C, A, D]. Somehow, it didn't let me remove the current view controller from the stack, but it did add to the bottom of the stack.
My only explanation has been that it has something to do with the new navigation history feature in iOS 14 (long hold on the Back button). Somehow this introduced some new constraints on the management of the navigation stack.
Hopefully someone can help me understand the new behaviour.
Regards,
Cristian