2012-01-12 100 views
0

我想能夠檢查可能會或可能不會被從它的原始方向旋轉一個UIView實例(由用戶旋轉例如設備),並確定該「真」的寬度和高度是。 「true」在這裏意思是,如果在面向肖像的iPad上的視圖在旋轉之前是768x1024,在橫向翻轉後,我會計算出新的寬度是1024,新的高度是768.檢測旋轉的UIView的寬度/高度取向改變後

看起來如果我申請該視圖轉換爲其框架屬性,如下所示:

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

我得到期望的結果。然而,蘋果的文檔聲明,如果視圖的轉換不是標識轉換,那麼UIView :: frame是未定義的,所以依賴這種計算可能不是一個好主意?

回答

5

view.bounds將返回RECT你想

view.frame會返回一個矩形與位置一起應用到邊界的transfrom。

+0

這沒有給正確的值 – 2013-12-04 15:18:04

+0

界限並沒有幫助,如果你也在改變着規模。它將讀取未轉換的UIview的矩形 – DTDev 2014-10-27 22:23:53

-1

那麼由於缺乏投入,我要去和我使用的解決方案:

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

爲了得到正確方向包圍。如果有人有另一種解決方案,或者可以確認這是安全的,我會將答案給予他們。

相關問題