Uitableview 弹出视图控制器会导致奇数navigationItem/BackbarButtonim标题交换

Uitableview 弹出视图控制器会导致奇数navigationItem/BackbarButtonim标题交换,uitableview,ios8,uinavigationitem,backbarbuttonitem,Uitableview,Ios8,Uinavigationitem,Backbarbuttonitem,正在尝试更新iOS 8的应用程序 我有一组uitableview,我们将它们称为view#1、view#2和view#3 从视图2传递到视图3时,我加载视图3,然后从堆栈中弹出视图2 在视图2中,我使用以下代码: // Load an instance of view #3 ViewThree *viewController = [[ViewThree alloc] initWithNibName:@"ViewThree" bundle:nil]; UINavigationController

正在尝试更新iOS 8的应用程序

我有一组
uitableview
,我们将它们称为view#1、view#2和view#3

从视图2传递到视图3时,我加载视图3,然后从堆栈中弹出视图2

在视图2中,我使用以下代码:

// Load an instance of view #3 
ViewThree *viewController = [[ViewThree alloc] initWithNibName:@"ViewThree" bundle:nil];
UINavigationController * navigationController = self.navigationController;       

// Push view #3 to the top of the stack
[navigationController pushViewController:viewController animated:YES];

// Now pop view #2 from the stack
NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray:navigationController.viewControllers];
[navigationArray removeObjectAtIndex:1];  
navigationController.viewControllers = navigationArray;
就推送和弹出视图而言,这很好

我的问题是,当view#3出现时,分配给view#3的
navigationItem.title
向左滑动,变为蓝色,并占据为
BackbarButtonim
保留的空间(后退按钮)

文本似乎对我的触摸有所反应,但它不会返回屏幕1。我必须关闭应用程序才能离开屏幕

这似乎发生在9月9日运行8.0的iPodtouch上,但在9月9日运行的Xcode模拟器上似乎没有发生

你对这里发生的事有什么想法吗?这在iOS 7上不会发生



更新:我以为通过删除导航栏标题解决了一半问题,但现在出现了
按钮,但大约50%的时间它不起作用。用户点击按钮,按钮的箭头部分变为浅蓝色,用户被卡在屏幕上。退出的唯一方法是关闭应用程序。

我猜是:因为你在

// Push view #3 to the top of the stack
[navigationController pushViewController:viewController animated:YES];
正在进行(动画推送)并且UI操作不是线程安全的,最终会导致视图堆栈格式错误

您可以尝试检查的是:

  • 将动画更改为否
  • 在视图#3的视图中从堆栈中删除视图#2

  • 你好看一看,放置一个断点,然后一步一步地执行。我知道这不是世界上最有趣的事情,但它正在调试,几乎一直在工作:)希望它能有所帮助。你是如何从视图1导航到视图2的?是不是先将视图控制器推到视图2,然后弹出视图1??