2

我正在使用 PinchGestureRecognizer 和 RotationGestureRecognizer 都可以正常工作。代码如下:

- (IBAction)pinchDetected:(UIPinchGestureRecognizer *)recognizer {

    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
    recognizer.scale = 1;
}


-(IBAction)rotationDetected:(UIRotationGestureRecognizer *)recognizer
{
    recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
    recognizer.rotation = 0;
}

使用此代码,我可以捏合和旋转我的视图。但是在“RESET”按钮上单击我想将视图的框架设置为捏合或旋转之前的状态。

为此我正在使用

[viewTwo setFrame:CGRectMake(80.0f, 65.0f, 160.0f, 101.0f)];

但我的框架没有设置。

那么我怎样才能像在捏合和缩放之前一样再次设置我的视图框架?

4

2 回答 2

4

您没有使用手势识别器更改框架。

您需要将转换分配回身份。

recognizer.view.transform = CGAffineTransformIdentity;
于 2012-12-11T07:56:19.327 回答
0

框架和变换以两种完全不同的方式应用于视图(其中框架是适合视图的最小矩形,而变换是视图的底层二维矩阵的表示)。如果您希望返回到以前的视图大小,请分配recognizer.view.transformCGAffineTransformIdentity.

于 2012-12-11T07:55:25.440 回答