【发布时间】:2017-01-22 22:56:36
【问题描述】:
我的项目很简单,只是为了解释我的问题。在视图控制器的视图中,有一个UITextField 和一个UILabel。如果我触摸了标签,标签会旋转M_PI,并且文本字段会退出第一响应者。如果文本字段没有成为第一响应者,则标签按预期旋转。但是如果文本字段成为第一响应者并且键盘出现。当标签被点击时,它会跳转到没有动画的结束变换。
我在 Xcode8,swift 3.0 中编写了该代码
代码是:
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var label: UILabel!
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
UIView.animate(withDuration: 0.25) {
self.label.transform = .identity
}
return true
}
@IBAction func labelTapped(_ sender: AnyObject) {
textField.resignFirstResponder()
UIView.animate(withDuration: 0.25) {
self.label.transform = self.label.transform.rotated(by: CGFloat(M_PI))
}
}
}
【问题讨论】:
-
您可以尝试将
resignFirstResponder()放在UIView.animate完成块上 -
键盘动画和我的动画可以同时做吗?
-
然后你可以观察
UIKeyboardWillHideNotification并在那里添加你的动画
标签: ios swift animation keyboard