2012-01-12 4 views
0

(ユーザーがデバイスを回転させるなどして)元の向きから回転していてもいなくてもよいUIViewインスタンスを検査し、 「真の」幅と高さは「真」とは、ポートレート指向のiPadのビューを回転前に768x1024にして横向きにした後、新しい幅が1024で、新しい高さが768であると計算します。方向変更後のUIViewの回転幅/高さの検出

これは、ビューは次のようなフレームプロパティに変換されます。

CGRect rotated = CGRectApplyAffineTransform([myview frame], [myview transform); 

私は望ましい結果を得ます。しかし、Appleのドキュメントでは、ビューの変換が恒等変換でない場合、UIView :: frameは未定義であると述べているので、この計算に頼るのは良い考えではないでしょうか?

CGRect rotated = CGRectApplyAffineTransform([myview frame], [myview transform);

を適切な向きの境界を取得するには:

答えて

5

view.boundsは、あなたが位置とともに境界に適用transfromでRECTを返します

view.frame

をしたい矩形を返します。

+0

これは正確な値を与えませんでした。 –

+0

また、スケールを変形している場合は、境界が助けになりません。それは、変換されていないUIviewの矩形を読み取ります – DTDev

-1

まあによる入力の不足のために、私が使用しての私の解決策で行くつもりです。誰かが別の解決策を持っているか、またはこれが安全であることを確認できる場合は、代わりにその回答を授与します。

関連する問題