iOS -AutoLayout约束设置活动在第二次崩溃

iOS -AutoLayout约束设置活动在第二次崩溃,第1张

概述我想实现一个功能,当我单击按钮时,图像将在两个按钮之间移动 我在图像和button2之间设置了一个约束(centerX,带有222的文本)同时我用button1设置了一个约束(centerX,带有11的文本)并用950设置优先级然后我将它们拖到viewcontroller 这是我的故事板中的约束 这是我控制约束的代码 if NSFoundationVersionNumber > NSFoundat 我想实现一个功能,当我单击按钮时,图像将在两个按钮之间移动

我在图像和button2之间设置了一个约束(centerX,带有222的文本)同时我用button1设置了一个约束(centerX,带有11的文本)并用950设置优先级然后我将它们拖到vIEwcontroller

这是我的故事板中的约束

这是我控制约束的代码

if NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_1 {            self.kIDleftCenterConstrait.active = isleft            self.kIDRightCenterConstrait.active = !isleft            UIVIEw.animateWithDuration(kAnimationDuration,animations: { () -> VoID in                self.vIEw.layoutIfNeeded()          })       } else {            let constraintToRemove = isleft ? self.kIDRightCenterConstrait : self.kIDleftCenterConstrait            let constriaintToUse = isleft ? self.kIDleftCenterConstrait : self.kIDRightCenterConstrait            self.douBi.supervIEw!.removeConstraint(constraintToRemove)            self.douBi.supervIEw!.removeConstraint(constriaintToUse)            self.douBi.supervIEw!.addConstraint(constriaintToUse)            UIVIEw.animateWithDuration(kAnimationDuration,animations: { () -> VoID in            self.vIEw.layoutIfNeeded()      }) }

在iphone中运行之后
  我点击按钮1图像移动到11,然后我点击按钮2,应用程序是现金自我.kIDRightCenterConstrait.active =!isleft

控制台日志是致命错误:在展开Optional值时意外发现nil

解决方法 似乎约束被释放了.您可能会尝试强烈保留约束:

@IBOutlet var kIDleftCenterConstrait: NSLayoutConstraint!@IBOutlet var kIDRightCenterConstrait: NSLayoutConstraint!

无论如何要小心可能的保留周期.检查VIEwController是否会在到时之前消失.

我通常会在代码中使用这种动画来管理所涉及的约束.

总结

以上是内存溢出为你收集整理的iOS -AutoLayout约束设置活动在第二次崩溃全部内容,希望文章能够帮你解决iOS -AutoLayout约束设置活动在第二次崩溃所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存