【发布时间】:2011-09-17 08:39:47
【问题描述】:
我有一个以编程方式创建的UINavigationController(用作向导页面),我需要显示一个“取消”按钮来取消任何UIViewController 中的进程。
创建UINavigationController:
FirstVC *firstVC = [[[FirstVC alloc] initWithNibName:@"FirstPage" bundle:nil] autorelease];
firstVC.delegate = self;
navigationController = [[UINavigationController alloc] initWithRootViewController:firstVC];
[self.view addSubview:navigationController.view];
添加取消按钮:
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelRequestNewLeave:)];
navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;
[cancelButton release];
但是当我将第二页推送到UINavigationController 时,UINavigationBar 上没有显示取消按钮。如果我回到第一页,取消按钮就在那里。因此,显然该按钮仅针对第一个视图添加。我相信这是因为我没有继承UINavigationController,因为我需要在子视图中使用它。但我不知道如何在以编程方式创建的UINavigationController 中设置rightBarButtonItem。
navigationController.topViewController.navigationItem.rightBarButtonItem = cancelButton;
有人可以解释一下吗?
提前致谢。
【问题讨论】:
标签: iphone ios uinavigationcontroller