在我的xib文件中,我对xib文件中的标签有一个高度约束。 在我的目标c中,我试图使用
来改变它self.heightConstraint.constant = newHeight;
但是当我在模拟器中运行时没有任何改变。我使用过调试器并确保执行该行。在Spark工具中,我看到标签高度是旧的高度。
如何动态调整高度?
更新:
我已更改我的代码以添加零检查。
if (self.heightConstraint != nil) {
self.heightConstraint.constant = newHeight;
}
我的代码仍然被执行,但没有任何改变。
答案 0 :(得分:0)
您的代码本身没有任何问题:
self.heightConstraint.constant = newHeight;
但是,即使正在执行,接口中的任何内容都不会改变,因为self.heightConstraint
不是对接口中约束的引用。 (可能是nil
。)
答案 1 :(得分:0)
我同意马特的观点。您的代码无法正常工作的可能原因是您的出口链接已损坏。通常,当尝试使用插座或操作执行某些操作的代码不起作用时,最可能的原因是插座或操作连接断开。
经验法则:调试立体声或计算机硬件时,请检查电缆。
Xcode中iOS或Mac OS应用程序的推论:调试UI代码时,请检查您的IBOutlet和IBAction连接。
答案 2 :(得分:0)
在视图控制器生命周期的哪个部分,您要更改约束?您可能需要在父视图上调用setNeedsLayout
。