我有一个UIView
被称为角色。在该视图中,用户可以添加几个UIImageView
作为子视图。我为捏合、移动和旋转创建了手势方法。手势方法被添加到角色视图中。
对于移动,我使用了手势 translationInView 属性,它工作正常!我的问题是缩放。
缩放个人UIImageViews
是可以的,没有问题,但是如何缩放所有这些?
我尝试缩放角色视图,它可以很好地按比例缩放所有子视图,但我不想更改角色视图,因为我将它用作画布来放置UIImageView
我的角色。如果我用 a 更改字符CGAffineTransformScale
,我添加的所有新 ImageView 都会得到相同的比例。
我试过这个但它不起作用:
if ([gesture state] == UIGestureRecognizerStateBegan || [gesture state] == UIGestureRecognizerStateChanged) {
CGFloat customScale = gesture.scale;
for (UIImageView *singleView in [self.devoCharacter subviews]) {
singleView.frame = CGRectMake(singleView.frame.origin.x / customScale, singleView.frame.origin.y /customScale, singleView.frame.size.width /customScale , singleView.frame.size.height /customScale);
[gesture setScale:1];
}
}
我想以这种方式减小每个视图的大小及其相对距离,但整个事情都是从坐标原点扩展的。
然后我尝试了这个:
if ([gesture state] == UIGestureRecognizerStateBegan || [gesture state] == UIGestureRecognizerStateChanged) {
CGFloat customScale = gesture.scale;
for (UIImageView *singleView in [self.devoCharacter subviews]) {
singleView.transform = CGAffineTransformScale(singleView.transform, customScale, customScale);
[gesture setScale:1];
}
}
但这会独立缩放每个视图,并且不会保持它们的相对距离。无论如何,是否可以按比例缩放每个视图?并保持它们的相对距离?