2012-09-08 20 views
1

所以我有一個UIView,它被添加到我的應用程序的主窗口中。 UIView不一定覆蓋整個屏幕。 在改變方向時,我根據新的方向調整了這個UIView以及新的x-y偏移值。 代碼工作正常,直到我開始在iPad上進行測試。現在問題是,旋轉後的UIView不能正確保持偏移量,並且在新的旋轉似乎在屏幕上反彈。 有人解決了「在旋轉UIView時保持正確的偏移量」的問題嗎? 我可以分享當前正在使用的代碼片段。根據方向變化在UIWindow中添加正確的偏移量來旋轉UIView

+0

要麼顯示你的代碼,要麼顯示你的用戶界面屏幕截圖....在回答之前,我會更加清楚。 – TheTiger

回答

0

如果你想保持一個特定的偏移量,你需要定義你的視圖在父視圖框架變化時應該如何表現。這是通過正確指定UIView的autoresizingMask屬性來完成的。看看你可以申請的不同口罩here

+0

@ Vakul,Tiguero:我不確定在這裏自動調整遮罩的工作方式。 基本上旋轉添加在窗口對象上的UIView,我爲方向更改設置了NSNotification。然後嘗試按照新的方向轉換視圖。 代碼的一部分是[here](http://dl.dropbox.com/u/4902546/code.rtf) – rishabh

+0

所以這段代碼根據界面方向來處理基本的旋轉,但只是想要一些精確的數學,或者如果有人在同一個工具上找到了更簡單的解決方法 – rishabh

+0

你有截圖瞭解你正在努力實現的目標 - 我看看你的代碼。除非您真的有特殊需求,否則不建議您通過檢測任何方向更改來改變視圖框架,而是再次使用autoResizingMask來代替。也許你可以發佈每個方向的視圖截圖嗎? – tiguero