Let say in the UITabbarController we have tab A,B,C.
When user goes to tab C from tab A, the navigationController of tab C push a new view on top of it by either using
1) pushViewController = new view ; or
2) addSubView(new view)
After that, when user left tab C, either go to tab A or B. After that again, if user goes back to tab C, which view they are going to see in tab C? What are the results based on the 2 different situations above?
Assuming you have separate navigation controllers for each of your tabs, as I would do, then you will see the new view in both cases after the user returns to tab C. In the event that the user touches the tab C tab again then the navigation controller will pull back the pushed views (or their controllers respectively) to the first one on the stack. That applies to case 1) only. Nothing would happen in case 2).