父视图的CGAffineTransformScale上的UIButton位置问题

时间:2014-03-19 08:51:30

标签: ios objective-c uibutton cgaffinetransform cgaffinetransformscale

我有一个UIView,我将UIButton作为(0,0)的子视图进行缩放,平移和旋转,宽度和高度为50px

此按钮用作编辑功能的触发器。我遇到的问题是,当我使用添加到UIView的{​​{1}}缩放UIPinchGestureRecognizer以使其缩小时,我会在UIView上反转变换,以便大小保持不变。

但是,由于UIButton比例变化,导致UIView框架延伸到父UIButton之外。这使得按钮的一部分不可点击。我希望按钮保持在父UIView内,始终固定在其原点,就像添加时一样,我该怎么做呢?

我在下面添加了UIView处理程序代码。

提前致谢。

UIPinchGestureRecognizer

1 个答案:

答案 0 :(得分:0)

您的代码正常运行 您在其包含视图中为UIButton(0,0)定义了frame.origin,并且每次缩放视图时都会更改它的帧。

CGAffineTransformInvert会反转按钮上发生的比例,但您需要在包含视图中更改其原点

每次缩放视图时,框架都会更改,并且按钮位于同一位置 UIButton frame.origin是(0,0),你永远不会改变它

每次缩放包含视图时,您都可以更改UIButton的frame.origin,或者您可以将UIButton放在您尝试缩放的视图之外