iOS 10 Beta使导航栏按钮和标题在pushViewController上消失

编辑:请在这里观看我的问题的视频:
https://www.dropbox.com/sh/lzgs9mahx5mea13/AADLYfLQix7MDleDN1ER81qVa?dl=0

我在应用程序商店中有一个应用程序,在iOS 9上运行得很好.

但是在iOS 10上(在具有最新测试版的设备iPhone 6s上测试),当选择主视图控制器上的单元格并且“推送”详细视图时,我的导航栏的标题和导航栏按钮消失.

只有后退按钮可见.

即使我通过单击后退按钮或向后滑动回弹给主人,他们也不会回来.弹出后,即使是“主人”标题和条形按钮也不见了.我不知道如何排除故障,因为没有错误.

在我的代码中,我没有在任何地方隐藏导航栏,也没有对导航控制器做任何奇特的事情.

视图层次结构insprector的屏幕截图:

注意标题和我的右边栏按钮如何在其他几个视图后面.后退按钮位于最前面.这表明按钮和标题没有隐藏,它们被3个额外的视图覆盖:UIVisualEffectView,_UIVisualEffectBackdropView和_UIVIsualEffectFilterView

同样在视频中,您会注意到如果我向后滑动一半,则取消滑动,条形按钮会返回.但标题却没有.

返回主人后,请注意主人的导航栏内容与其他2个私人类视图重叠:

我以编程方式推送详细信息:
相关代码

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];

    PlaylistDetailViewController *pdvc = (PlaylistDetailViewController*)[self.storyboard instantiateViewControllerWithIdentifier:@"PlaylistDetailViewController"];
    pdvc.indexPath=indexPath;
    [self.navigationController pushViewController:pdvc animated:YES];
}

解决方法

我也遇到了这个问题,到目前为止建议的所有解决方案都是:

>太复杂了
>不起作用

最后我发现这是因为iOS10中UINavigationBar的更新绘制周期.

为了解决这个问题,我必须解决这个问题:

self.navigationController.navigationBarHidden = YES;
self.navigationController.navigationBarHidden = NO;

它基本上是触发导航栏重绘.

它仍然很烦人,他们怎么能推出一个新版本的操作系统,打破这个重要的东西.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...