我的应用程序有几个普通视图(V1,V2),没有navigationController,但是当按下ADD按钮时会创建一个带有navigationController的视图,如下所示:
CreateNewEventViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
tableViewController = [[NewEventTableViewController alloc] init];
navigationController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
tableViewController.navigationController.title = @"Add";
[self.view addSubview:navigationController.view];
}
所以NewEventTableViewController是一个UITableViewController。完成从表中填充数据后,最后一个单元格是一个保存它的按钮,然后返回到其中一个主视图(V1,V2)。
NewEventTableViewController.m
V1 *myV1 = [[V1 alloc] init];
[self.view.superview addSubview:myV1.view];
但导航控制器我留了下来。有什么方法可以删除吗?
更新 我试过这个,但我得到的只是一个白色的屏幕。添加新视图后也要删除。 (此代码放在NewEventTableViewController中)
[self.navigationController.view removeFromSuperview];
V1 *myV1 = [[V1 alloc] init];
[self.view addSubview:myV1.view];
更新2 不是我真正需要的,但无论如何我可以使用它。
[self.navigationController.view.superview removeFromSuperview];
它删除了navigationController及其表视图,它显示了我调用CreateNewEventViewController之前的视图。
答案 0 :(得分:0)
不太清楚为什么要这样做,但有可能隐藏navigationController
self.navigationController.navigationBarHidden = YES;