0

Interface Builder で設計した UIViewController があります。ビューの上部近くに UIImageView があり、その下にいくつかの他のビュー (テキストなど) があります。これらは、ビューの上部に固定するように設定されています。

ビューが読み込まれるときのコードでは、特定の状況で UIImageView を削除しますが、それでもスペースが必要なように見えるか、アンカーに基づいて下のビューが上に跳ね上がりません。

上のビューが削除された場合、下のビューを上に移動するにはどうすればよいですか?

4

2 に答える 2

1

ビュー内の他の要素のフレームを変更できます。

viewDidLoad メソッドでは、次のようなものを使用できます。

-(void)viewDidLoad{
   if(imageVisible){
         otherElements.frame = CGRectMake(....);
   }else{
         otherElements.frame = CGRectMake(....);
   }   
}

ビューの構造はわかりませんが、1 つのコマンドですべての要素の位置を変更できるように、他のすべての要素を 1 つのビューにネストすることを検討してください。

于 2012-08-15T18:50:13.023 に答える
1

Android のビュー階層とは異なり、iOS のビュー階層はすべて絶対座標で作成されます。サブビューが上部に固定されていると言うとき、それは、親ビューのサイズが変更された場合、ビューは画面の上部に対して同じ相対位置にとどまることを意味します.

画像が非表示または削除されたときに画像ビューの下にあるビューを上に移動するには、オフセットを考慮して手動で配置する必要があります

于 2012-08-15T18:47:42.960 に答える