Ios 父视图CGAffineTransformScale上的UIButton位置问题
我有一个Ios 父视图CGAffineTransformScale上的UIButton位置问题,ios,objective-c,uibutton,cgaffinetransform,cgaffinetransformscale,Ios,Objective C,Uibutton,Cgaffinetransform,Cgaffinetransformscale,我有一个ui视图,我可以缩放、平移和旋转ui按钮,作为(0,0)处的子视图,宽度和高度为50px 此按钮用作编辑功能的触发器。我遇到的问题是,当我使用添加到UIView的uipinchgestrerecognizer缩放UIView时,我会反转ui按钮上的变换,使其大小保持不变 但是,由于ui视图比例的变化,它导致ui按钮框架扩展到父ui视图之外。这将使部分按钮不可单击。我希望按钮保持在父视图UIView中,并始终固定在其原点,就像添加按钮时一样,我该如何执行此操作 我在下面添加了uipinch
ui视图
,我可以缩放、平移和旋转ui按钮
,作为(0,0)
处的子视图,宽度和高度为50px
此按钮用作编辑功能的触发器。我遇到的问题是,当我使用添加到UIView
的uipinchgestrerecognizer
缩放UIView
时,我会反转ui按钮上的变换,使其大小保持不变
但是,由于ui视图
比例的变化,它导致ui按钮
框架扩展到父ui视图
之外。这将使部分按钮不可单击。我希望按钮保持在父视图UIView
中,并始终固定在其原点,就像添加按钮时一样,我该如何执行此操作
我在下面添加了uipinchgestureerecognizer
处理程序代码
提前谢谢
- (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;
}
您的代码正常工作
您在其包含视图中为UIButton(0,0)定义了frame.origin,并且每次缩放视图时,它的帧都会更改
CGAffineTransformInvert反转按钮上的比例,但需要在包含视图中更改其原点
每次缩放视图时,它的帧都会发生变化,按钮也会在同一位置
UIButton frame.origin是(0,0),您从未更改过它
每次缩放包含的视图时,您都可以更改UIButton的frame.origin,或者您可以将UIButton放在您尝试缩放的视图之外我尝试过,但结果位置仍然无法正常工作。你能分享同样的相关代码吗?你不想把它放在另一个视图中吗?