2017-06-09 3 views
0

ビューを設定するためにInterface BuilderでNSConstraintsのみを使用しました。今私はアニメーション化したいStackViewを持っています。これにより、すべてのレイアウトが間違って配置されます。Autolayout NSConstraints設定のビューを置換する

  1. ビュー(StackView)をtemp(同じフレーム)に置き換えようとしましたが、動作しませんでした。私もtranslatesAutoresizingMaskIntoConstraints

  2. を設定しようとした

  3. も次のことを試してみました:あなたはこれを行う方法を

    self.numbers_Top_Constraint.constant = self.topscreen.frame.size.height 
    self.topscreen.setNeedsUpdateConstraints() 
    UIView.animate(withDuration: 0.5, animations: { 
    
        self.topscreen.layoutIfNeeded() 
    

    }

知っていますか?

答えて

1

フレームを変更する代わりに制約を使用します。 ビューをスタックするように上限マージン制約を設定し、アニメーションの前に変更してself.view.layoutIfNeeded()を呼び出します。 何かのような -

self.numbersStackViewTopMarginConstriant.constant = self.view.frame.size.height 
UIView.animate(withDuration: 0.5, animations: { 

      self.view.layoutIfNeeded() 

     }) { (Bool) in 
+0

ありがとう、それはうまくいかなかった - 私はあなたの提案で質問を更新します。 –

+0

あなたはself.view.layoutIfNeeded()を試してみましたか? –

+0

はい、ありがとう - まだ何もありません。 –

関連する問題