当我选择一个图像时,我想要一个从选择器到 mainView(这是模糊区域)的动画,有人有个好主意吗?
问问题
69 次
1 回答
0
基本理念:
- 使用选定的图像创建一个新的 temp-ImageView。
- 将此添加到窗口中原始 ImageView 的确切位置。
- 删除 original-ImageView (如果你愿意的话)
- 将 temp-ImageView 移动/缩放到屏幕上所需的位置。
- 将 final-ImageView 添加到蓝色区域中的所需位置。
- 删除 temp-ImageView。
您将不得不使用 - (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view 进行一些计算不确定,但选择器可能位于与蓝色区域不同的窗口中。
CGRect destRect; // position in window, height/width need to be flipped, so the size is correct after rotation
// add a ContainerView so rotation-handling is easier, esp. durring moving/scaling
UIView *containerView = [[UIView alloc] initWithFrame:destRect];
// set the frame of the imageView, origin 0/0 so rotation is easy to handle, height/width flipp back
UIImageView *tempImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, destRect.size.height, destRect.size.width)];
// flip layer center as well
[tempImageView setCenter:CGPointMake(camView.center.y, camView.center.x)];
// add the rotation
[tempImageView setTransform:CGAffineTransformMakeRotation(M_PI_2)];
[tempImageView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
于 2012-04-28T08:55:02.747 回答