2017-01-09 23 views
0

私は制約をアニメーション化しようとしていますが、ビュー全体に影響を与えているようです。ここでは、制約をアニメートするために使用しているコードを示します。SwiftでNSLayoutConstraintをアニメーション化しようとしています3

@IBOutlet weak var personHeight: NSLayoutConstraint! 

func animateBackgroundHeight() { 
print("animate") 
UIView.animate(withDuration: 5.0, animations: { 
    self.personHeight.constant = 19 // personHeight is the IBOutlet to the constraint 
    self.view.layoutIfNeeded() 
}) 

}

アニメーションが起こっているが、私はなぜわからないのビューを移動中にすべてのもの。アニメーション化したいのは、ビューの高さですが、TextFieldやボタンには影響しません。 GreyViewをTextFieldの背景要素と考えてください。ここで

は私が

ピンクのボックスには、親ビューを表し(緑1)をアニメーション化しようとしている制約をお見せするための画像です。 グレイボックスは、私が高さをアニメートしようとしているビューです。 TextFieldとボタンはグレーボックスオブジェクトの上にあります。

enter image description here

+0

問題は、(a)アニメーション表示と移動する他の表示との間に制約があります。 (b)あいまいな制約がある。 (c)スクロール・ビューが一般的な混乱の原因であるというような制約がある程度混乱している場合、la [TN2154](https://developer.apple.com/library/ios/technotes/tn2154/_index.html) ))。しかし、問題を診断するにはここで十分ではありません。さらに詳細を提供するのではなく、問題を再現するのに十分な詳細情報を使って[MCVE](http://stackoverflow.com/help/mcve)にさらに詳しく説明してください。 – Rob

+0

@Rob、質問を編集に与えました、私はより簡潔になることを望んでいます。 – icekomo

答えて

0

あなたは別のビュー にネストXビューを持っているだけのxビュー をアニメーション化したいならば、あなたは 行う必要がありますので、あなたの質問 について明確にするために、すべての 後に間違ったビューをアニメーション化します

self.x.layoutIfNeeded() 

代わりの

self.view.layoutIfNeeded() 
関連する問題