Question

I have tabBarController with 6 views. As default tabBarController load first view, I need to load view #6 at my application start, so in my tabBarController I add to viewWillAppear [self.tabBarController setSelectedIndex:6];, ok. In my view #3 a have 2 modal views witch I create in storyboard. When I tap a button I load my modal view, and when a close it [self dismissModalViewControllerAnimated:YES]; (I was in view #3) I see view #6, but I need to come back to view #3, so if I understand right when I call my modalView it unload my tabBarController and when I close it load tabBarController again with view #6, but i need to see my view #6 where i call my modalView, how can I fix it?

P.S. I hope you understand my English

Was it helpful?

Solution 3

I change order of items in my tabBarController in storyboard, change numbers of views in code and everything works. Thanks to all.

OTHER TIPS

It looks like You added [self.tabBarController setSelectedIndex:6]; to viewWillAppear instead of viewDidLoad. There is no viewWillLoad there.

Do something like this in the viewDidAppear method of your tab bar controller, so it only sets the selectedIndex when the app starts up:

-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    static BOOL isFirst = YES;
    if (isFirst) {
        [self setSelectedIndex:6];
        isFirst = NO;
    }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top