0

隣接する3つのビューがあります。1つは中央に、2つは上下にあります。時々、上面図と底面図を非表示に設定しました。これが発生した場合、どうすればセンタービューを拡大できますか?

4

3 に答える 3

0

NSArray3つ(またはそれ以上)のを作成しUIView、ビューのいずれかを非表示にするたびにこのメソッドを呼び出します。このメソッドを使用すると、表示されているビューを展開してコンテナを埋めることができます。

-(void)expandVisibleViews{

NSUInteger numVisible = 0;
NSFloat height;
NSUInteger count = 0;

for(UIView *view in viewArray){
  if(!view.hidden){
    numVisible++;
  }
}

height = container.frame.size.height / numVisible;


for(UIView *view in viewArray){
  if(!view.hidden){
    view.frame = CGRectMake(view.frame.origin.x, height*count, view.frame.size.width, height);
    count++;
  }
}

}
于 2012-08-17T21:05:54.803 に答える
0

他のビューを非表示にした後、この関数を呼び出します

-(void) stretchView : (UIView *) view
{
    [view setFrame:self.view.frame];
}

例:[self StretchView:viewForStretch];

(ビューを伸ばしながらアニメーションを適用することもできます)

于 2012-08-17T18:54:48.520 に答える
0

非表示に設定されたときにビューのフレームに割り当てられるCGRectをハードコーディングすることにしました。

if (surroundingViewsHidden) {
    iphoneWebView.frame = CGRectMake(0, 0, 320, 460);
    ipadWebView.frame = CGRectMake(0, 0, 1024, 768);
}
else {
    iphoneWebView.frame = CGRectMake(0, 44, 320, 372);
    ipadWebView.frame = CGRectMake(0, 44, 916, 768);
}

それは仕事を成し遂げます。

于 2012-08-18T15:10:37.073 に答える