应用程序在 isHidden 属性上崩溃

Posted

技术标签:

【中文标题】应用程序在 isHidden 属性上崩溃【英文标题】:app crashes on isHidden property 【发布时间】:2018-05-29 11:42:37 【问题描述】:

我刚刚将代码从 Objective-c 转换为 swift,现在我的应用中发生了一些未知的崩溃。

    应用程序在我使用 selectedView.isHidden = false 更改其可见性的每个插座属性上崩溃。错误是[Controller _mutableLayoutArrangements]: unrecognized selector sent to instance

    当我注释掉 isHidden 然后 viewDidLoad 方法时发生崩溃,说 [Controller _hostsLayoutEngine]: unrecognized selector sent to instance

我做了一些研究,但没有找到这种行为的确切原因。但我有一些想法,这些崩溃是由于自动布局约束崩溃造成的。但我不确定。

我找到了与崩溃相关的一行,但我无法解决问题 layoutSublayersOfLayer:

【问题讨论】:

这里的“Controllet”是什么 [Controllet _mutableLayoutArrangements] Controller是即将崩溃的viewController “Controllet”是错字吗?应该是“控制器” 谢谢我更新问题 使用异常断点查看您的应用在哪一行崩溃。 【参考方案1】:

检查您的故事板视图,它们有在您的 UIViewController 中不存在的插座。您需要删除此类插座并重新尝试运行该项目。

【讨论】:

我检查了 viewController 中连接的每个插座 有些可能有额外的网点,请检查 我检查了每一个出让和 IBAction。故事板上的所有出口都连接在 viewController 中 @ParvBhasker 如果您删除所有这些网点并重新创建它们会怎样?【参考方案2】:

我发现这个问题的解决方案并不常见,我检查了我面临的这些问题“mutableLayoutArrangements 和 hostsLayoutEngine”是 AGSLayer 的一部分。

然后我检查并发现我正在导入 AGSLayer 委托。删除代表解决了我的问题。 实际上,以前我将它用于 arcGis 库。

【讨论】:

以上是关于应用程序在 isHidden 属性上崩溃的主要内容,如果未能解决你的问题,请参考以下文章

即使在使用 view.setNeedsDisplay() 刷新视图后,.isHidden 属性也不反映对视图的更改

更改集合视图的 isHidden 属性不适用于搜索栏取消按钮

_UIInteractiveHighlightEffectWindow 的isHidden 属性默认是YES?

即使在使用view.setNeedsDisplay()刷新视图后,.isHidden属性也不会反映视图的更改

在x个元素上设置isHidden为false

动画 UIView isHidden 子视图