使用 addSubView 将视图添加到另一个视图后调整视图大小
Resize a view after adding it to another view using addSubView
我有一个名为 painView 的视图,在我添加它后大小为 (40 , 40 )
我想在调整到 (20, 20) 大小时对其进行动画处理,但即使没有动画,它在添加后也不会改变它的大小,只有它的位置,而且我没有使用自动布局..
dragView* paintView=[[dragView alloc]initWithFrame:CGRectMake(x, y, 40,40 )];
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"coolPoint.png" ] ];
imgView.userInteractionEnabled = NO;
imgView.clipsToBounds = YES;
imgView.contentMode = UIViewContentModeScaleToFill;
imgView.frame = CGRectMake(0, 0, paintView.frame.size.width,paintView.frame.size.height );
[paintView addSubview:imgView];
[self.canvasView addSubview:paintView];
[UIView beginAnimations:@"animateAddContentView" context:nil];
[UIView setAnimationDuration:0.4];
paintView.frame = CGRectMake(x, y, 20, 20);
[UIView commitAnimations];
你的paintView变了,而imageView(imgView)没变。将 paintView 的 clipsToBounds 设置为 YES 以检查它。所以当你改变paintView的frame时,imgView的frame也随之改变。
我有一个名为 painView 的视图,在我添加它后大小为 (40 , 40 ) 我想在调整到 (20, 20) 大小时对其进行动画处理,但即使没有动画,它在添加后也不会改变它的大小,只有它的位置,而且我没有使用自动布局..
dragView* paintView=[[dragView alloc]initWithFrame:CGRectMake(x, y, 40,40 )];
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"coolPoint.png" ] ];
imgView.userInteractionEnabled = NO;
imgView.clipsToBounds = YES;
imgView.contentMode = UIViewContentModeScaleToFill;
imgView.frame = CGRectMake(0, 0, paintView.frame.size.width,paintView.frame.size.height );
[paintView addSubview:imgView];
[self.canvasView addSubview:paintView];
[UIView beginAnimations:@"animateAddContentView" context:nil];
[UIView setAnimationDuration:0.4];
paintView.frame = CGRectMake(x, y, 20, 20);
[UIView commitAnimations];
你的paintView变了,而imageView(imgView)没变。将 paintView 的 clipsToBounds 设置为 YES 以检查它。所以当你改变paintView的frame时,imgView的frame也随之改变。