我需要使用UIPinchGestureRecognizer而不使用CGAffineTransform, 来缩放视图,因此如何更改此代码以在没有CGAffineTransform的情况下执行此操作?如何在不使用CGAffineTransform的情况下缩放视图
- (IBAction)zoomma:(UIGestureRecognizer *)sender {
CGFloat factor = [(UIPinchGestureRecognizer *)sender scale];
if (factor > 1) {
self.sgungaView.transform = CGAffineTransformMakeScale(lastScaleFactor + (factor-1), lastScaleFactor + (factor-1));
} else {
self.sgungaView.transform = CGAffineTransformMakeScale(lastScaleFactor * factor, lastScaleFactor * factor);
}
if (sender.state == UIGestureRecognizerStateEnded) {
if (factor > 1) {
lastScaleFactor += (factor-1);
} else {
lastScaleFactor *= factor;
}
}
}
编辑:
不是一个杰作,但这个工程
- (void)zoomma:(UIGestureRecognizer *)sender {
CGFloat factor = [(UIPinchGestureRecognizer *)sender scale];
if (factor > 1) {
float enlarge = lastScaleFactor + (factor-1);
[self.sgungaView setBounds:CGRectMake(0, 0, self.sgungaView.bounds.size.height + enlarge, self.sgungaView.bounds.size.height + enlarge)];
} else {
float stringi = lastScaleFactor * factor;
[self.sgungaView setBounds:CGRectMake(0, 0, self.sgungaView.bounds.size.height - stringi, self.sgungaView.bounds.size.height - stringi)];
}
if (sender.state == UIGestureRecognizerStateEnded) {
if (factor > 1) {
lastScaleFactor += (factor-1);
} else {
lastScaleFactor *= factor;
}
}
}
有一个更好的办法?
为什么你不想使用CGAffineTransform? –
我有一个方法,在该视图上应用旋转,我无法对变换进行连接 – Enlil
为什么不能连接2个变换? – msgambel