2011-10-30 12 views
1

私は、pinchgesturerecognizerが添付された画像ビューを持っています。 pinchgesturerecognizerデリゲートメソッドでは、スケーリングがウィンドウの境界からイメージビューを押し出したかどうかを確認するために、変換のフレーム値を計算する必要があります。私はCGRectApplyAffineTransformを使用して毎回フレーム値を計算する必要があることを知っていますが、最初の変換が実行された後にimageviewフレーム値が無効になるので、今度はインスタンス変数に更新フレーム値を格納し、トランスフォームが起こったり、イメージビュー自体からこの値を得ることができます。変換後のフレーム値を取得する最良の方法は?

答えて

1

UIImageViewがそのウィンドウ内にあるかどうかを確認しますか?

私はビューフレームを無視して、代わりにビューの境界から 計算を開始すると思います。これには、ビューに適用した変換が含まれます。

AppleはiOSのためビュープログラミングガイドで指定されたセクションフレーム、境界の関係、およびセンターのプロパティを持っています。

CGRect imageViewBounds = imageView.bounds; 
CGRect imageViewBoundsInWindow = [imageView convertRect:imageViewBounds 
               toView:nil]; 
CGRect windowBounds = imageView.window.bounds; 
if (CGRectIntersectsRect(windowBounds, imageViewBoundsInWindow)) { 
    // imageView is visible in its window 
} 
関連する問題