相关疑难解决方法(0)

如何以编程方式更新UIView的恒定高度约束?

我有一个UIView和我使用Xcode Interface Builder设置约束.

现在我需要以UIView's编程方式更新高度常量.

有一个功能myUIView.updateConstraints(),但我不知道如何使用它.

xcode autolayout nslayoutconstraint swift ios-autolayout

78
推荐指数
8
解决办法
10万
查看次数

有没有办法在Interface Builder中为Auto Layout Constraints添加标识符?

在Interface Builder中进行了一些可视化布局后,我创建了一些我想在运行时访问的约束.有没有办法在Interface Builder中标记或识别约束,以便以后查找它们?

我想要这样做的原因是我需要根据视觉指定的约束执行一些计算.我知道Apple提供了可视格式语言,我可以在控制器中以编程方式指定约束.我宁愿不使用这种方法,所以我不会失去IB的设计时反馈.

编辑

建立引用插座确实有效,但问题仍然存在.

xcode interface-builder ios autolayout

22
推荐指数
5
解决办法
2万
查看次数

使用故事板中设置的标识符来获取对NSLayoutConstraint的引用

我正在使用故事板设置按钮的约束.我在约束的属性中看到了一个选项"Identifier".

约束属性的屏幕截图

我想引用这个约束,改变它在代码中的值,移动一个对象.

如何NSLayoutContraint从此标识符中获取对此的引用.

我阅读了文档,它是这样编写的

@interface NSLayoutConstraint (NSIdentifier)
/* For ease in debugging, name a constraint by setting its identifier, which will be printed in the constraint's description.
 Identifiers starting with UI and NS are reserved by the system.
 */
@property (nullable, copy) NSString *identifier NS_AVAILABLE_IOS(7_0);

@end
Run Code Online (Sandbox Code Playgroud)

所以我意识到这是出于调试目的.

如果我想获得它并使用它怎么办?我看到了这个链接,但没有给出令人满意的答案:如何通过其指针获取NSLayoutConstraint的标识符?

cocoa-touch objective-c ios uistoryboard nslayoutconstraint

14
推荐指数
4
解决办法
2万
查看次数