当前位置: 首页 > 知识库问答 >
问题:

在InterfaceBuilder中启用/禁用NSLayoutConstraints

齐承泽
2023-03-14

NSLayoutConstraint(在iOS8.0中)有一个名为activeBOOL属性,它可以轻松地禁用/启用所述布局约束。

要为视图控制器创建第二个布局集,然后可以通过编程方式启用/禁用该布局集(通过两个布局集的NSLayoutConstraints的IBMoutletCollection),我需要在interface builder中禁用已定义的布局约束。

让我明确一下,我不想删除它们,只需禁用它们,这样我就可以设计第二个集合,而无需界面生成器一直抱怨约束不匹配。此外,切换大小类不是一个选项,因为布局集用于一个相同的大小类。

是否有这样做的选择?

提前感谢

马耳他

更多信息:SDK版本:8.1部署目标8.0

共有3个答案

孙京
2023-03-14

我使用Xcode 8和Swift 3而没有收到任何警告的解决方案未选中界面生成器上的已安装框,检查器选项卡:

然后在viewDidLayoutSubviews()上创建IBMoutlet并以编程方式添加/删除它们

view.removeConstraints([constraints to remove, ...])
view.addConstraints([constraints to add, ...])

请确保首先删除约束,否则您将得到消息日志无法同时满足约束。。。

司马作人
2023-03-14

我之前成功地使用了Gabbler提供的解决方案,但最近我使用Swift 2.0和Xcode 7尝试了同样的方法,发现它不再有效。正如人们所料,设置为未安装的约束根本没有安装,并且在打开或关闭时对布局没有影响。

我的解决方案是确保安装了所有约束,并添加一个用户定义的运行时属性,该属性的键为“active”,类型为“boolean”,值为“false”。

用户定义的运行时属性面板可以在自定义类字段下面的标识检查器中找到。

龚睿
2023-03-14

在故事板中选择要禁用的约束,然后选项命令4显示属性检查器,然后取消选择已安装。

 类似资料:
  • 20.2.3 禁用重启 如果您不想使用重启功能,可以使用spring.devtools.restart.enabled属性将其禁用。在大多数情况下,您可以在application.properties中设置它(这仍会初始化重启类加载器,但是它不会监视文件的变化)。 如果您需要完全禁用对重启的支持,比如,由于重启功能不适用某个特定的库,则需要在调用SpringApplication.run(…​)之

  • 我正在尝试使用hazelcast mancenter配置wan复制,但我没有在此处获得选择快照启用/禁用功能的选项,因为该选项未在dropdown.Is中列出,有办法通过mancenter实现此功能吗?版本3.9.4 hazelcast版本3.9.3 谢谢

  • 问题内容: 我想启用/禁用没有jQuery的按钮。这是我的代码: 作品。但这不是-按钮保持禁用状态: 问题答案: 是一个布尔属性,仅它的存在就会导致元素被禁用,无论该属性的值实际是多少。这就是为什么您可以通过将属性设置为来禁用JavaScript中的元素的原因,您可以将其设置为任何值(这就是为什么将其设置为禁用状态的原因)。 在HTML中,您甚至根本不需要为属性设置一个值: 但是,建议使用布尔属性

  • 我在主视图中有两个按钮,按钮1和按钮2。我怎样才能在特定时间段禁用按钮1,在该时间段之后,它应该再次启用。

  • 我尝试添加自定义过滤器并将其作为bean注入,我还尝试在WebSecurityConfigurerAdapter中禁用cors,我还尝试在configure HttpSecurity方法中添加过滤器。 这些我已经尝试过的一些链接: 1:Spring引导安全性的CORS问题。