【问题标题】:Navigation for iPhoneiPhone 导航
【发布时间】:2010-07-21 07:16:33
【问题描述】:

这是我的流程 navA-> navB->navC 然后当用户按下 NavC 后退按钮时,他会转到 navA

但是当用户再次按下 navA 时,他应该转到 navB 但它会继续 navC 我不知道为什么

在导航中我这样做了

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

在 navA 中,我这样做是为了去 navB //这是 preLoginNavController.m XMLAppDelegate appDelegate=(XMLAppDelegate)[UIApplication sharedApplication].delegate;

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

并在 appdidfinish() 中

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

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“不支持推送导航控制器”这就是我使用这个的原因

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

我需要推入你定义的方法还是我可以在添加子视图时使用??

喜欢

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

【问题讨论】:

    标签: iphone


    【解决方案1】:

    尝试使用 UINavigationController 的 push/pop 方法:

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

    在您的应用窗口中添加和删除视图

    更新:

    您可以在您的 appDelegate 中创建自己的 UINaviagioNController:

    - (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;
    

    }

    使用 navigationController 作为@property。

    尝试创建一个新的“基于导航的应用程序”或“Tab Bat 应用程序”。

    【讨论】:

    • 如果我推新的,那么我需要弹出旧的还是继续推我需要的东西????
    • 任何推送的 UIViewController 都会被添加到堆栈中并保留在那里,除非您将其弹出或弹出堆栈。请参阅类参考:developer.apple.com/iphone/library/documentation/uikit/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多