私は文字と呼ばれるUIView
を持っています。そのビューの中で、ユーザはいくつかのサブビューとしてUIImageView
を追加できます。 ピンチ、移動、回転のジェスチャーメソッドを作成しました。ジェスチャー方法が文字表示に追加されました。同時に複数のビューをスケーリングする
私はジェスチャーtranslationInViewプロパティを使用していますが、動くとうまくいきます! 私の問題はscallingです。
スケーリング個UIImageViews
は問題ありませんが、どのようにスケールするのですか?
キャラクタビューを拡大しようとしましたが、すべてのサブビューに比例してスケーリングがうまく機能しますが、キャラクタビューを変更したくないのです。キャンバスとして使用してUIImageView
を配置します。文字を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];
}
}
をしかし、これは独立して各ビューをスケーリングし、それらの相対的な距離を維持しません。 各ビューを比例してスケールするだけですか?それらの相対距離も維持していますか?