1

主な質問: 3 つのラベル (label1、label2、label3) が上下に並んでいます。実行時に label2 が非表示に設定されている場合、またはスーパービューから削除されている場合、label3 を label1 の下に配置するにはどうすればよいですか。

初期ビュー:

Label1
vertical spacing 
Label2
vertical spacing 
Label3

アクション:

set Label2.hidden = yes;

出力:

Label1
vertical spacing
Label3

私が試したのは、垂直方向の間隔の制約を適用することです:

  1. label1 と label2 の間で何らかの優先度
  2. label2 と label3 の間で、3 番目の制約に関して優先度が高い
  3. 優先順位が最も低い label1 と label3 の間

label2 を削除すると、制約を更新するにはどうすればよいですか? または、すべての制約を追跡して、label2 が非表示のときに 2 番目の制約を削除する必要がありますか?

4

2 に答える 2

0

非表示に設定したときに、label3 のフレームを label2 と同じに変更しないのはなぜですか?

したがって、Label3.frame = Label2.frame;Label2.hidden = YES;に追加し、その逆も同様です。

于 2013-06-20T14:02:23.443 に答える