【发布时间】:2015-11-15 19:41:08
【问题描述】:
我正在开发一个聊天应用程序,并试图在键盘进入时改变我的视图。输入文本字段位于我的视图底部,我希望它在单击它和键盘时上升出现。 textField 位于 tableView 下的一个名为 dockView 的小 UIView 中,其中将显示消息。 dockView 的高度有一个引用为 dockViewHeight 的约束,它在开始时等于 47。所以我将这个方法与 UITextFieldDelegate 一起使用:
func textFieldDidBeginEditing(textField: UITextField) {
println("did")
self.view.layoutIfNeeded()
UIView.animateWithDuration(0.5, animations: {
println("go \(self.dockViewHeight.constant)")
self.dockViewHeight.constant = 400
println("go \(self.dockViewHeight.constant)")
self.view.layoutIfNeeded()
println("go \(self.dockViewHeight.constant)")
}, completion: nil)
}
调用该方法,因为所有内容都打印到控制台。正如您在日志中看到的那样,约束也会更新:
did
go 47.0
go 400.0
go 400.0
但是,屏幕上没有变化,dockView 的高度保持不变。知道为什么会这样吗?
谢谢!
【问题讨论】:
标签: layout uiview xcode6 constraints uiviewanimation