Swift 以编程方式访问已卸载的约束?

Swift 以编程方式访问已卸载的约束?,swift,autolayout,storyboard,nslayoutconstraint,iboutlet,Swift,Autolayout,Storyboard,Nslayoutconstraint,Iboutlet,如果我在情节提要中创建约束,并且选中了Installed属性: 。。。我可以通过阅读视图上的约束来访问它: myView.constraints 这将返回在此级别安装的所有约束 如果我取消选中故事板中的Installed属性,则约束将不再存在于myView.constraints的[NSLayoutConstraint]数组中。是否有任何方法可以访问我故事板中的这些已卸载约束,而无需为它们创建IBoutlet 例如,一个在视图层次结构中的每个视图上循环并以这种方式找到它的解决方案就足够了,但

如果我在情节提要中创建约束,并且选中了Installed属性:

。。。我可以通过阅读视图上的约束来访问它:

myView.constraints
这将返回在此级别安装的所有约束

如果我取消选中故事板中的Installed属性,则约束将不再存在于
myView.constraints
[NSLayoutConstraint]
数组中。是否有任何方法可以访问我故事板中的这些已卸载约束,而无需为它们创建IBoutlet

例如,一个在视图层次结构中的每个视图上循环并以这种方式找到它的解决方案就足够了,但我似乎找不到这样做的方法


另外,如果有一个
myView.archivedConstraints
myView.unnstalledConstraints
,或者类似的东西,这也是一个很好的解决方案。

我认为有三种方法可以实现这一点:

  • 创建
    IBOutlet
    以访问该约束
  • 通过添加的所有约束循环访问它们(不推荐)
  • 以编程方式添加该约束
  • 但就我所知,对于所有这些应用程序,您都需要安装该约束,以使其在运行时在应用程序中处于“活动”/“可见”/“状态”


    也许这篇文章可以帮助你

    我想你有三种方法可以做到这一点:

  • 创建
    IBOutlet
    以访问该约束
  • 通过添加的所有约束循环访问它们(不推荐)
  • 以编程方式添加该约束
  • 但就我所知,对于所有这些应用程序,您都需要安装该约束,以使其在运行时在应用程序中处于“活动”/“可见”/“状态”


    也许这篇文章可以帮助你

    我不理解的是,当应用程序运行时,“未安装”约束是不需要做的,所以它当时甚至不应该存在……1。是的,这可能会奏效,但我正在寻找另一个解决方案。2.我没能让它工作。如果你知道如何让这项工作,我会接受作为一个有效的解决方案。3.这也可以,但我明确希望在情节提要中创建它。@SenseSoure您可以调用
    self.superview.constraints
    或指定您正在检查的视图。据我所知,“未安装”约束在应用程序运行时不起作用,因此它当时甚至不应该存在…1。是的,这可能会奏效,但我正在寻找另一个解决方案。2.我没能让它工作。如果你知道如何让这项工作,我会接受作为一个有效的解决方案。3.这也可以,但我明确希望在情节提要中创建它。@Senseful您可以调用
    self.superview.constraints
    或指定要检查的视图。