0

我有一个UIView缩放、平移和旋转,并UIButton添加了一个作为子视图,(0,0)宽度和高度为50px.

此按钮用作编辑功能的触发器。我遇到的问题是,当我缩放添加到它的UIViewusing以使其缩小时,我反转了 the 上的变换,使其大小保持不变。UIPinchGestureRecognizerUIViewUIButton

然而,由于UIView比例变化,它导致UIButton框架延伸到 parent 之外UIView。这会使部分按钮无法点击。我想让按钮留在 parentUIView中,始终固定在其原点,就像添加时一样,我该怎么做?

我在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 回答