0

IBでは複雑すぎるため、コードで作成されたラベルとボタンがたくさんあるビューがあります。これは正常に動作します。

IBでは、ボタンをタップして下から表示したい入力ビューも作成しました。もしそうなら、キーボードに非常に似ています。この入力ビューは前方にあるため、IB で作成され、スライダー、ラベルなどが含まれています。IB の self.view のサブビューとして追加していません。

ボタンをタップして、入力ビューのすべての制約を設定します。幅を設定し、self.view の下部に垂直サイズで設定してから、この制約を削除し、実際の高さを追加して、次に、[self.view layoutIfNeeded] でアニメーション化します。

問題は、入力ビュー自体は正しくアニメーション化されますが、そのサブビューはそれほどアニメーション化されないということです。それらは一度に現れます。

スイッチを1つだけ使用して、プログラムで入力ビューを追加しようとしました。それはかなりうまくアニメーション化します。

コントロールとそのスーパービューの間の制約に問題があると推測しています。しかし、私はそれについて確信が持てません。なぜなら、それらは正しくアニメーション化されていませんが、正しい場所にあり、正しいプロポーションを持っているからです。ここで何かが足りないと思います。IB セットのコントロールとビューを混在させてプログラムで変更するのは得策ではないでしょうか?

誰かがそれについて何か経験がありますか?

前もって感謝します、

4

1 に答える 1

0

このテーマについて Apple の開発ボードに投稿することをお勧めします。私は最近そこにいくつかの投稿を見ました。回答した Apple エンジニアは、Autolayout を使用すると、基本的にビューの中心、サイズ、および場合によっては変換の所有権を autolayout に与えると述べました。

自動レイアウトを使用するビューをアニメーション化するには、明らかに UIView ブロック アニメーションを使用し、ビューの制約設定をアニメーション化する必要があります。システムは、加えた変更をアニメーション化します。

ただし、プログラムで新しいビューを追加し、それらを所定の位置にアニメーション化することについてはわかりません。

于 2013-02-05T00:52:23.320 に答える