gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 03:48:42 26 4
gpt4 key购买 nike

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

我在应用商店中有一个应用在 iOS 9 上运行得很好。

但是在 iOS 10 上(在最新测试版的 iPhone 6s 设备上测试),当主视图 Controller 上的单元格被选中并“推送”详细 View 时,我的导航栏的标题和导航栏按钮消失了。

只有后退按钮可见。

即使我通过单击返回按钮或向后滑动返回到主页面,它们也不会返回。弹出后,连“大师”的标题和栏按钮都不见了。我不知道如何解决这个问题,因为没有错误。

在我的代码中,我没有将导航栏隐藏在任何地方,也没有对导航 Controller 做任何花哨的事情。

来自 View 层次结构指导器的屏幕截图: enter image description here

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

同样在视频中,您会注意到,如果我向后轻扫一半,然后取消轻扫,栏按钮就会返回。但标题没有。

enter image description here

enter image description here

回到 master 之后,注意 master 的导航栏内容被另外 2 个私有(private)类 View 覆盖: enter image description here

我以编程方式推送细节:相关代码:

-(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];
}

最佳答案

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

  1. 太复杂了
  2. 没用

最后我发现这是因为iOS10更新了UINavigationBar的绘制周期导致的。

为了解决这个问题,我必须用以下方法修复它:

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

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

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

关于iOS 10 Beta 使导航栏按钮和标题在 pushViewController 上消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39212074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com