Вы не можете контролировать это. TabBarController всегда будет отображать rootViewController, соответствующий этому tabBarButtonItem, когда вы снова нажмете кнопку.
EDIT
Затем прочитайте методы TabBar Delegate, такие как tabbar didSelectItem, это что-то вроде этого. Реализуйте этот метод делегата, как в appDelegate, и тогда вы всегда можете проверить show view1 при нажатии на этот индекс кнопки. Вот метод. Вы можете получить индекс и вытолкнуть view2, чтобы он всегда отображал view1.
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item; // called when a new view is selected by the user (but not programatically)