tags:

views:

41

answers:

1

If i have total 10 views such as from 1 to 2, 2 to 3,and same as upto 10

if i go to 5 th view,then i press home button and then i go to another application and then after doing some task ,i go to home button and then i press my application my 1 st view opens but i want to open my 5 th view

plzzzzzzzzz tell me solution for this waiting fo reply

+1  A: 

What I do is put an integer in NSUserDefaults for the key @"navigationDepth" with how deep it is, and any other information such as the index of the item being edited. Then when the app launches, the app delegate sends a message to view controllers to push the appropriate number of view controllers. Here's some sample code:

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];

    // Restore navigation depth and picture being viewed or edited
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    id root = [navigationController topViewController];
    int navDepth = [defaults integerForKey:@"navDepth"];
    int pictureIndex = [defaults integerForKey:@"currentPictureIndex"];
    switch (navDepth) {
        case 1:
            [root viewImageAtIndex:pictureIndex animated:NO];
            break;
        case 2:
            [root editImageAtIndex:pictureIndex animated:NO];
            break;
        default:
            break;
    }
}

Edit: Here is the code for pushing view controllers:

- (void) viewImageAtIndex:(int)index animated:(BOOL)animated {
    if ((0 <= index) && (index < allPictures.count)) {
        ViewerViewController *c = [[ViewerViewController alloc] initWithNibName:@"ViewerViewController"];
        c.allPictures = self.allPictures;
        c.currentPictureIndex = index;
        [self.navigationController pushViewController:c animated:animated];
        [c release];
    }
}

- (void) editImageAtIndex:(int)index animated:(BOOL)animated {
    ViewerViewController *c = [[ViewerViewController alloc] initWithNibName:@"ViewerViewController"]; 
    c.allPictures = self.allPictures;
    c.currentPictureIndex = index;
    [self.navigationController pushViewController:c animated:NO];
    [c editPictureWithAnimation:animated]; // Immediately push the editor view controller
    [c release];
}
lucius
[root viewImageAtIndex:pictureIndex animated:NO];what this line will do?
In his case, it probably steps through the navigation hierarchy to the appropriate view controller corresponding with being one level deep in that hierarchy.
Brad Larson
It pushes a view controller. I've edited my answer to add the code which does that. Hope this helps.
lucius