2011-04-07 58 views
1

這是我在這裏的第一個問題,所以向大家問好:)的UIView旋轉後調整與CGAffineTransform

我需要實現類似於頁/主題圖像處理的結果。我有uiview,我可以旋轉/縮放等。我在每個角落都有處理大小視圖的操作。一切正常(縮放/旋轉),但當圖像旋轉,我試圖通過移動手柄來改變其大小,或者圖像改變其大小不可預知或它在屏幕上移動。

我會感謝任何方向或建議,我可以找到一些類似的例子或我能做些什麼。

這裏是我喜歡得到的視頻。 example

+0

這聽起來有點高級,但在沒有其他幫助的情況下,我可以提供一個線索:如果在旋轉之前完成仿射縮放,則會增加剪切。當你建立你的CGAffineTransform時,你可能想先添加任何旋轉,然後添加縮放變換。 – Wienke 2011-04-08 02:57:40

+0

您忘記發佈您的代碼。如果我們無法看到它,我們無法告訴您代碼有什麼問題。 – Altealice 2011-04-08 04:18:47

+0

還沒有代碼:)我正在尋找'如何咬這種'的建議。我現在正在試驗,所以沒有必要添加任何代碼,因爲它根本不起作用。 – WezUwiUsz 2011-04-08 10:35:05

回答

0

我已經自己解決了這個問題。我相當有信心說,有沒有簡單的方法來做到這一點,你只需拿起一支筆,並潛入一些相當乏味的三角學!

首先要注意的是,視圖的frame屬性是出界(即當旋轉變換應用到它的價值是不確定的),所以你必須改用boundscenter性能。那麼你只需要根據當前角度來計算新的邊界和中心位置。單調的進來知道,bounds不再與水平的&垂直軸對齊,而center coords當然是,因此需要一個筆&紙。你的計算對於每個句柄都會略有不同,但是你幾乎可以避免複製一個句柄的代碼並改變一些加號/減號。其實說實話,一旦你冒着決定去做,這並不算太壞。我自己的實現限制了被調整大小的視圖的大小和寬度,這是最難的一點。使用戶期望的行爲可能需要一些工作,但這是值得的。

+0

嘿,你可以發佈我們的代碼,因爲我有同樣的問題。 – 2012-01-13 06:07:17