iOS:嵌套推送动画可能导致导航栏损坏

iOS:嵌套推送动画可能导致导航栏损坏,第1张

概述我是ios的新手.我正在做一个项目,但坚持这个错误. 基本上下面的代码是在单击一行时加载一个新的xib,if语句用于检查是否单击了一个特定的行. if (#something) { UIViewController *controller = [[NSClassFromString(@"abcd") alloc] initWithNibName:@"abcd" bundle:nil]; 我是ios的新手.我正在做一个项目,但坚持这个错误.

@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:嵌套推送动画可能导致导航栏损坏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1069563.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存