0

の幅と高さのサブビューとして追加されたUIView、スケーリング、パン、回転する があります。UIButton(0,0)50px

このボタンは、編集機能のトリガーとして機能します。私が抱えている問題は、縮小するようにUIView使用をUIPinchGestureRecognizer追加してスケーリングすると、サイズが一定に保たれるようUIViewに変換を反転することです。UIButton

ただし、UIViewスケールが変更されるため、UIButtonフレームが親の外側にはみ出してしまいUIViewます。これにより、ボタンの一部がクリックできなくなります。UIViewボタンが追加されたときのように常に原点に固定された親内にボタンを留めておきたいのですが、どうすればこれを行うことができますか?

UIPinchGestureRecognizer以下のハンドラーコードを追加しました。

前もって感謝します。

- (void)scaleView:(UIPinchGestureRecognizer*)recognizer {

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

    self.editBtn.transform = CGAffineTransformInvert(recognizer.view.transform);

    recognizer.scale = 1;
}
4

1 に答える 1

0

コードは正常に動作しています UIButton (0,0) の frame.origin をそれを含むビューで定義し、ビューをスケーリングするたびにフレームが変更されます。

CGAffineTransformInvert は、ボタンで発生したスケールを反転しますが、含まれているビューでその原点を変更する必要があります

ビューをスケーリングするたびにフレームが変更され、同じ場所のボタン UIButton frame.origin は (0,0) であり、変更したことはありません

含まれているビューをスケーリングするたびにUIButtonのframe.originを変更するか、スケーリングしようとしているビューの外にUIButtonを置くことができます

于 2014-03-19T11:08:34.277 に答える