我有几个视图可以拖动,旋转,缩放。我想做到这一点,所以他们不能药物,旋转或缩小屏幕。检测CGAffineTransformed视图是否超出屏幕/ UIView的界限
拖动似乎不是一个问题,因为我没有使用变换来生成新的位置,并看看这个新的位置是否会把视图从屏幕上。
当我旋转或缩放我使用CGAffineTransform(CGAffineTransformedRotate或CGAffineTransformScale),我似乎无法得到什么新的框架将实际应用到我的看法。
CGRect newElementBounds = CGRectApplyAffineTransform(element.bounds, CGAffineTransformScale([[gestureRecognizer view] transform], [gestureRecognizer scale], [gestureRecognizer scale]));
CGRect elementBoundsInSuperView = [element convertRect:newElementBounds toView:[element superview]];
elementBoundsInSuperView不是我期待它的Rect,它的方式关闭。
我也试图先在SuperView中获取边界,然后对其应用转换,但这也不正确。
CGRect elementBoundsInSuperView = [element convertRect:element.bounds toView:[element superview]];
CGRect newElementBounds = CGRectApplyAffineTransform(newElementBounds, CGAffineTransformScale([[gestureRecognizer view] transform], [gestureRecognizer scale], [gestureRecognizer scale]));
的[gestureRecognizer视图]应相同元件。