0
私のプロジェクトは非常に簡単で、私の質問を説明するだけです。ビューコントローラのビューには、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))
}
}
}
あなたは 'UIView.animate'完了ブロック – Tj3n
に' resignFirstResponderを() '置く試すことができ、キーボードアニメーションと私のアニメーションを同時に行うことができますか? – leizh00701
次に、 'UIKeyboardWillHideNotification'を観察してそこにあなたのアニメーションを追加することができます – Tj3n