2017-12-12 18 views
0

固定サイズのnのテキストビューを持つセルがあります。私がボタンを押すと、その高さの制約が無効になり、テーブルビューがダイナミックセルサイズ用に設定されているためセルがリサイズされます。私が気にする唯一のことは、サイズの変化をアニメートすることができないようです。それはむしろ "バイナリ"、契約または拡大されています。私はindexpath、beginupdates-endupdatesで行をリロードしようとしましたが、壁に衝突しました。私はどんな提案も感謝しています。おかげサブビューの制約を無効にした後にtableviewcellをアニメーション化する

答えて

0

あなたが制約をアニメーション化したいあなたはそれが動作しません、実際の制約の変更をアニメーション化しようとした場合 UIView.animate(withDuration:1){self.view.layoutIfNeeded() }

続い制約の変更とそれを一般的に行うことができます変更します。

0

animate(withDuration...)メソッドにlayoutIfNeeded()を配置できますが、Core Animationトランザクションを作成すると、カスタムタイミング(イージング)カーブを使用できます。

CATransaction.begin() 
someViewConstraintDefault.isActive = false 
someViewConstraintNew.isActive = true 
CATransaction.setAnimationTimingFunction(CAMediaTimingFunction(controlPoints: 0.25, 1, 0.25, 1)) 
UIView.animate(withDuration: 0.5, animations: { [weak self] in 

    self?.view.layoutIfNeeded() 

}) 
CATransaction.commit() 

これは、カスタムタイミング曲線を構築するための素晴らしいツールです:http://netcetera.org/camtf-playground.html

関連する問題