开发者

Navigation for iPhone

开发者 https://www.devze.com 2023-01-08 09:09 出处:网络
this is my flow navA-> navB->navCthen when user press NavC back button he goes to navA but when user again press navA he should go to navB but its going on navC I don\'t know why

this is my flow navA-> navB->navC then when user press NavC back button he goes to navA

but when user again press navA he should go to navB but its going on navC I don't know why

in navC i did this

XMLAppDelegate *appDelegate=(XMLAppDelegate*)[UIApplication sharedApplication].delegate;
    [self.view removeFromSuperview];
    [appDelegate.window addSubview:appDelegate.preLoginNavController.view];

and in navA i am doing this to go to navB //this is preLoginNavContro开发者_如何学JAVAller.m XMLAppDelegate appDelegate=(XMLAppDelegate)[UIApplication sharedApplication].delegate;

    //appDelegate.RootNavController.shouldHasBackButton = YES;
    [self.navigationController.view removeFromSuperview];
    [appDelegate.window addSubview:appDelegate.navigationController.view];//[navigationController view]

and in appdidfinish()

[window addSubview:[preLoginNavController view]];
    [window makeKeyAndVisible];**strong text**

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Pushing a navigation controller is not supported' thats why i am using this a

appDelegate.newsNavController.shouldHasBackButton = YES;
 [appDelegate.window addSubview:appDelegate.newsNavController.view];

do I need to push in the method defined by you or I can use in between while adding subview??

like

AccountApplication* controller = [[AccountApplication alloc] initWithNibName:@"AccountApplication" bundle:nil];
        //      [self.navigationController pushViewController:controller animated:YES];
        //      [controller release];


Try to use the push/pop methods of UINavigationController:

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated

instad of adding and removing views from your app window

UPDATE:

You can create your own UINaviagtioNController in your appDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
// Override point for customization after app launch

UIViewController *rootViewController = [[UIViewController alloc]init];
navigationController = [[UINavigationController alloc]initWithRootViewController:rootViewController];
[rootViewController release];

[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
return YES;

}

with navigationController as @property.

Try to create a new "Navigation-based Application" or a "Tab Bat Application".

0

精彩评论

暂无评论...
验证码 换一张
取 消