私は何かに問題がある、私はいくつかのアドバイスを与えることができれば感謝します。制約がVFLでプログラムで作成されている場合、制約の変更をアニメーション化するにはどうすればよいですか?
基本的に、ビジュアルフォーマット言語でいくつかの制約を作成し、ベースをより動的にしました。私はストーリーボードで私の意見に触れなかった。
赤色の領域をナビゲーションバーと見なすことができます。
例では、次のように表示されます。
私の問題があります。いくつかのviewControllerでトップビューを非表示にしたい
まずプロパティを作成しました。
@property (strong, nonatomic) NSLayoutConstraint *constraintTabbarHeight;
しかし、私は、私はVFLと私のNSLayoutConstraintプロパティを設定できませんでした実現。 VFLは制約の配列を作成するためです。
これは私の最初の質問です。 VFL制約をNSLayoutConstraintプロパティで保持する方法はありますか?とにかく
ので、私はconstraintWithItem方法で私の高さ制約を作成することを決めました。
self.constraintTabbarHeight = [NSLayoutConstraint constraintWithItem:self.tabbarContainerView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:95];
次に、私はstackoverflowで検索し、メソッドを見つけました。私は望む任意のviewControllerからこのメソッドを呼び出すことができます。
- (void)updateTabbarConstraintWith:(int) heightValue{
self.constraintTabbarHeight.constant = heighValue;
[UIView animateWithDuration:0.3
animations:^{
[self.view layoutIfNeeded];
}];
}
私がself.constraintTabbarHeight.constant = 0に設定すると、すべて正常です。私のTopView(redArea)は消えていますが、PlaceholderViewはまだ同じ位置にあります。
私は[self.view layoutIfNeeded]が私のプレースホルダービューを更新し、それが私の画面を満たすと思った。
このようになります。私はそれが正しい作るにはどうすればよい
?
ご回答ありがとうございます。