ios – 返回主视图控制器时“仍需要自动布局…”崩溃

ios – 返回主视图控制器时“仍需要自动布局…”崩溃,第1张

概述我的应用程序启动了一个主菜单,它是UIViewController的自定义子类,名为LVSMainViewController.它嵌入在UINavigationController中,该控件被设置为故事板中的初始VC. LVSMainViewController实现-viewDidLayoutSubviews. 点击按钮会将用户带到应用程序的不同部分(不同的VC).用户通过连接到推送segue的按 我的应用程序启动了一个主菜单,它是UIVIEwController的自定义子类,名为LVSMainVIEwController.它嵌入在UINavigationController中,该控件被设置为故事板中的初始VC. LVSMainVIEwController实现-vIEwDIDLayoutSubvIEws.

点击按钮会将用户带到应用程序的不同部分(不同的VC).用户通过连接到推送segue的按钮返回主菜单.但是,当应用程序再次加载主菜单VC时,它会崩溃并显示以下消息:

2014-08-28 16:11:14.122 * Assertion failure in -[UIVIEw layoutSublayersOfLayer:],/SourceCache/UIKit_Sim/UIKit-2935.137/UIVIEw.m:8803

2014-08-28 16:11:14.257 * Terminating app due to uncaught exception ‘NSInternalinconsistencyException’,reason: ‘auto Layout still required after sending -vIEwDIDLayoutSubvIEws to the vIEw controller. LVSMainVIEwController’s implementation needs to send -layoutSubvIEws to the vIEw to invoke auto layout.’

SO上的其他帖子在以编程方式设置自动布局约束时报告相同的错误(我没有这样做,虽然我在故事板中使用自动布局)和/或使用UItableVIEw时(我在主菜单中没有使用) VC或它所代表的VC,虽然我在应用程序的其他地方使用它). (见here或here.)

其他拼图:

>我尝试添加[self.vIEw layoutSubvIEws];在-vIEwDIDLayoutSubvIEws结束时.当我这样做时它不会崩溃.但自从Apple’s documentation年以来,这似乎是不明智的

You should not call this method directly. If you want to force a
layout update,call the setNeedsLayout method instead to do so prior
to the next drawing update.

>如果我改为添加[self.vIEw setNeedsLayout];在-vIEwDIDLayoutSubvIEws结束时,应用程序崩溃首先加载主菜单VC,而不是当我离开它并返回时.

可能是什么造成的?

解决方法 崩溃被神奇地修复的原因很可能是因为你现在正在使用iOS 8.你试过在iOS7上运行这个代码吗?

您可以通过调用[self.vIEw layoutSubvIEws]来接近答案.

请尝试调用[self.vIEw layoutIfNeeded].

看这些帖子:

Autolayout and subviews

Auto Layout error

总结

以上是内存溢出为你收集整理的ios – 返回主视图控制器时“仍需要自动布局…”崩溃全部内容,希望文章能够帮你解决ios – 返回主视图控制器时“仍需要自动布局…”崩溃所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1107357.html

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

发表评论

登录后才能评论

评论列表(0条)

保存