我有幾個視圖可以拖動,旋轉,縮放。我想做到這一點,所以他們不能藥物,旋轉或縮小屏幕。檢測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視圖]應相同元件。