0

に収まるようにスケーリングされた Core Data にいくつかのビュー パラメータが保存されていますself.view。ビュー パラメータを取得するときに、ビューを再スケーリングして、より小さな親ビュー ( ) に収まるようにしますnewView。親ビューviewSelected内でサブビューのサイズを変更するにはどうすればよいですか?newView

newView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)];
newView.autoresizesSubviews = YES;
for (Shape *shape in shapes) {
    ShapeView *viewSelected = [[SquareView alloc]init];

    [viewSelected setAutoresizingMask:UIViewAutoresizingFlexibleHeight |
             UIViewAutoresizingFlexibleWidth];
    viewSelected.frame = CGRectMake(shape.x,shape.y,shape.shapeSize,shape.shapeSize);
    [newView addSubview:viewSelected];
}
[self.view addSubview:newView];
4

1 に答える 1

0

これを処理する方法はおそらく複数ありますが、頭のてっぺんから2つを考えることができます。

  1. 手動 - 自動サイズ変更マスクが提供するものは決定論的であるため、計算してください。

  2. self.view のサイズの中間 UIView を作成し、フェッチしたビューをそれに追加し、中間ビューのサイズを「新しい小さい親」のサイズに変更します。その後、サブビューのサイズが適切に変更されます。次に、それらを中間ビューから削除し、目的の宛先ビューに追加します。

于 2012-04-04T18:12:30.443 に答える