
@H_404_8@
基本上下面的代码是在单击一行时加载一个新的xib,if语句用于检查是否单击了一个特定的行.@H_404_8@
@H_404_8@
if (#something) { UIVIEwController *controller = [[NSClassFromString(@"abcd") alloc] initWithNibname:@"abcd" bundle:nil]; [self.navigationController pushVIEwController:controller animated:YES];} else { methodsVIEwController.r = [sel objectForKey:@"cvb"]; methodsVIEwController.m = [sel objectForKey:@"bnm"]; #adding controller [self.navigationController pushVIEwController:controller animated:NO];} 问题是,当我点击一行时,它会转到新页面但是当我单击导航栏中的后退按钮时,前一页面不会加载,而是显示黑页.它在日志中显示的错误是:
嵌套推送动画可能导致导航栏损坏,在意外状态下完成导航过渡.导航栏子视图树可能已损坏.@H_404_8@
我搜索了所有相似的答案,但无法得到解决方案.帮助将不胜感激.@H_404_8@
提前致谢@H_404_8@解决方法 您可能在故事板中有一个Segue,当选择一个表行时触发该Segue.当您在选择行时手动推送控制器时,会出现您描述的错误.您应该从故事板中删除segue.
@H_404_8@
编辑:更多细节:@H_404_8@
我假设您使用了故事板(设计窗口中有多个视图控制器).如果你不使用它,我走错了路.例如,从我的一个项目获取此屏幕截图:@H_404_8@
如果您已将控件从“行”拖动到右侧的视图控制器,则会创建一个segue.当您在左视图控制器的tablevIEw中选择一行时,可能会触发此segue.如果您使用的是标准项目,那么这样的segue可能已经存在,并且您没有自己创建它.@H_404_8@
选择行时,segue会“自动”触发.在代码中手动推送视图控制器时,可能会导致“第二次推送”,从而干扰导航控制器.@H_404_8@
您可以通过单击场景之间的粗线或该圆形图标来删除segue,然后按删除.@H_404_8@
如果您需要一个在选择行时不会自动触发的segue,您可以控制 – 将其从该黄色图标拖动到目标场景.应出现一个菜单,您可以选择“手动”下的其中一个选项.然后必须手动触发segue,您将在代码中执行以下 *** 作:@H_404_8@
@H_404_8@
[self performSegueWithIDentifIEr:@"SegueID" sender:self];
单击故事板中的圆形segue图标时,可以在属性检查器的“标识符”字段中的实用程序窗口中设置标识符.该标识符是上面代码行中使用的字符串.@H_404_8@ 总结
以上是内存溢出为你收集整理的iOS:嵌套推送动画可能导致导航栏损坏全部内容,希望文章能够帮你解决iOS:嵌套推送动画可能导致导航栏损坏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)