我在核心数据中保存了几个视图参数,这些参数已缩放到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];
答案 0 :(得分:0)
可能有多种方法可以解决这个问题,但我可以想到两个方法。
手动 - 自动调整遮罩给你的是确定性的,所以要计算出来。
创建一个大小为self.view的中间UIView,将获取的视图添加到其中,并将中间视图的大小调整为“新的较小父级”的大小。然后您的子视图将适当调整大小。然后从中间视图中删除它们并将它们添加到所需的目标视图。