UINavigationController问题 - 如果我返回第一个视图,我会看到第二个视图的颜色

时间:2015-08-19 15:56:23

标签: ios objective-c uiviewcontroller uinavigationcontroller

我正在创建UINavigationController,它就像这样的UIViewControllers。首先是黄色,第二个是蓝色。

然后将其添加到堆栈中。黄色显示一段时间,然后显示第二个蓝色。

问题是什么 - 如果我按下顶部栏中的按钮返回上一个控制器,我看不到黄色背景而是蓝色,认为窗口的标题是“一个”是正确的。

为什么会这样?谢谢

UIViewController *one = [[UIViewController alloc] init];
[one.view setBackgroundColor:[UIColor yellowColor]];
[one setTitle:@"One"];


UIViewController *two = [[UIViewController alloc] init];
[two.view setBackgroundColor:[UIColor blueColor]];
[two setTitle:@"Two"];


UINavigationController * navController = [[UINavigationController alloc] init];
[self.view addSubview:navController.view];
[navController pushViewController:one animated:YES];
[navController pushViewController:two animated:YES];

1 个答案:

答案 0 :(得分:0)

我弄明白是什么原因。

因为navController是从内存中复制的。