尝试更新适用于iOS 8的应用。
我有一组UITableViews
,我们称之为#1视图,#2视图,以及#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;
就推送和弹出视图而言,这样可以正常工作。
我的问题是,当显示视图#3时,分配给视图#3的navigationItem.title
向左滑动,变为蓝色,并接管为backBarButtonItem
保留的空间(后退按钮) 。
文字似乎响应了我的触摸,但它没有返回到屏幕#1。我必须杀死该应用才能离开屏幕。
这似乎发生在我9月9日运行8.0的iPod Touch上,但从9月9日起我的Xcode模拟器上似乎没有发生。
关于这里发生了什么的任何想法?这不会发生在iOS 7上。
更新:我认为我通过删除NavBar标题已经解决了这个问题,但现在出现< Back
按钮,但大约50%的时间它不起作用。用户点击按钮,按钮的箭头部分变为浅蓝色,用户卡在屏幕上。离开的唯一方法是杀死应用程序。
答案 0 :(得分:1)
我的猜测是:因为你在
时改变了堆栈// Push view #3 to the top of the stack
[navigationController pushViewController:viewController animated:YES];
正在进行(动画推送),并且UI操作不是线程安全的,最终会出现格式错误的视图堆栈。
您可以尝试检查的是: