私はキーボードの通知を受けていますが、それが消えるとプレースホルダビューが検索バーの左端にアニメーション表示されるようにしたいと思います。UIViewアニメーションがNSLayoutConstraintで機能しませんか?
以下は、キーボードのオープニングと非同期のアニメーションを呼び出すために使用するものです。現在、ビューは私が望む場所に移動しますが、アニメーション化するのではなくテレポートしているかのように見えます。
DispatchQueue.main.async {
if isKeyboardShowing {
UIView.animate(withDuration: 2, delay: 1, options: UIViewAnimationOptions.curveEaseOut, animations: {
NSLayoutConstraint(item: self.placeholder, attribute: .left, relatedBy: .equal, toItem: self.searchBar, attribute: .left, multiplier: 1, constant: 5).isActive = true
}, completion: { (completed) in
})
}
}
どのような提案ですか?