【发布时间】:2015-08-21 06:16:46
【问题描述】:
我的代码中有一个UIImage,我想在按下按钮时垂直放大。 UIImage 在情节提要中完全受限,我想在按下按钮时更改其高度。
我已经在代码中链接了UIImage 及其高度约束:
@IBOutlet weak var botBotCons: NSLayoutConstraint!
@IBOutlet weak var botBot: UIImageView!
然后
@IBAction func testButton(sender: UIBarButtonItem) {
println("testButton pressed")
self.botBotCons.constant = 68 //or +=62 as its current constant is 6
self.view.layoutIfNeeded()
}
我在控制台中收到 testButtonpressed 消息,但图像没有调整大小。我究竟做错了什么?我是否也需要更改情节提要中的某些内容?
【问题讨论】:
-
首先尝试将这些行添加到函数
self.view.setNeedsUpdateConstraints()self.view.updateConstraints()的末尾。如果它不起作用,可能是 imageView 被其他约束阻止了,想在故事板中看到你的约束 -
非常感谢。我添加了这两行代码。它没有用。比我第十一次去storyboard中检查我的约束,我终于发现图像的顶部被6约束到视图的底部。我将约束更改为图像的底部到底部视图中,空间 = 0。现在一切正常。我感到惭愧。无论如何,非常感谢。
-
您是否还有其他可能与较大高度发生冲突的布局约束?控制台日志中是否有任何关于打破约束的输出?我已经建立了一个新的单视图应用程序项目,添加了一个图像视图和一个按钮,添加了约束,为高度约束拖动了一个出口,将高度约束的常量设置为按钮的操作方法和高度确实会发生变化,而无需调用任何“布局”或“需要”方法。
标签: ios swift uistoryboard