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

可能有多种方法可以处理这个问题,但我能想到两种。

  1. 手动 - 自动调整大小的蒙版给你的是确定性的,所以计算出来。

  2. 创建一个与 self.view 大小相同的中间 UIView,将获取的视图添加到其中,并将中间视图的大小调整为“新的较小父级”的大小。然后您的子视图将适当调整大小。然后从中间视图中删除它们并将它们添加到所需的目标视图中。

于 2012-04-04T18:12:30.443 回答