我的UIView动画和UITextfield有一个奇怪的问题 - 我需要能够点击一个按钮,让按钮动画显示文本字段,以便用户可以在文本字段中输入文本,然后当用户再次按下该按钮,在文本字段上禁用用户交互,按钮向后移动。
我已经通过将文本字段放在按钮后面并在开始时禁用它来完成此操作,然后当单击按钮时,该按钮会动画显示文本字段,该文本字段将启用:
问题是当用户去编辑文本字段时,正在触发按钮单击(或者可能只是动画)。因此,当他们去打字时,按钮只会向下移动并覆盖文本字段。
这很奇怪,因为我有一个布尔值来设置按钮是向上还是向下移动,我不认为这是因为按钮移动到文本区域以下,这应该永远不会发生。
以下是我这样做的方式:
@IBAction func enterText(sender: UIButton) {
print("time to enter text")
if !textOpen
{
UIView.animateWithDuration(0.5, animations: {
self.textBtn.center.y -= self.textBtn.bounds.height
})
happenedTxt.userInteractionEnabled = true
}
else {
UIView.animateWithDuration(0.5, animations: {
self.textBtn.center.y += self.textBtn.bounds.height
})
happenedTxt.userInteractionEnabled = false
}
textOpen = !textOpen
}
按下按钮时,如何触发按钮移动?为什么文本字段会触发动画?是否有人要求将按钮恢复到原来的位置?