【发布时间】:2011-07-03 12:45:47
【问题描述】:
我使用以下代码在我的 uiview 中添加了一个 uigesture
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scale:)];
[pinchRecognizer setDelegate:self];
[holderView addGestureRecognizer:pinchRecognizer];
[pinchRecognizer release];
调用的代码是
if([(UIPinchGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) {
lastScale = 1.0;
return;
}
CGFloat scale = 1.0 - (lastScale - [(UIPinchGestureRecognizer*)sender scale]);
CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform;
CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);
[[(UIPinchGestureRecognizer*)sender view] setTransform:newTransform];
lastScale = [(UIPinchGestureRecognizer*)sender scale];
OldTransform = newTransform;
OldCenter = [(UIPinchGestureRecognizer*)sender view].center;
缩放前的问题我可以得到holdview的宽度和高度,但缩放后它返回零
我用下面的代码来显示
NSLog(@" 矩形 %f , %f ,%f, %f ", holderView.frame.origin.x, holderView.frame.origin.y, holderView.bounds.size.width , holderView.bounds.大小.高度);
另一个问题是,当我在其上方添加子视图时,所有值都从 holderview 返回,大小为原点,.. 变为零 任何解决该问题的建议
【问题讨论】:
-
仅供参考,
NSStringFromCGRect。 -
感谢您的信息,您对这个问题有什么建议