2009-09-18 73 views
1

我有一個視圖層次結構作爲UIScrollView實例的子視圖。視圖層次結構使用簡單的容器視圖作爲水平行子視圖貼圖的包裝器,每個子視圖貼圖都是覆蓋drawRect的UIView子類。沒有什麼花哨。UIScrollView子視圖在縮放時不保留正確的邊界尺寸

作爲一個完整性檢查,我重複每個子視圖圖塊的邊界,框架和變換。令我驚訝的是,在變焦過程中,每一個都保持不變!這是一個大問題,因爲我打算在完成縮放序列後重新繪製每個圖塊。沒有正確的尺寸這是不可能的。

如果他們有完全不正確的dimentsions,我們應該如何在這些瓷磚中使用Quartz進行自定義繪圖。

有人請賜教。謝謝。

乾杯,

道格

回答

0

我可能是錯的,但這些都只是邏輯尺寸;它們將根據UIScrollView對它們的轉換進行縮放,旋轉和變形。顯示上下文也應該類似地變形,因此它應該像往常一樣用於drawRect:方法。

+0

爲清楚起見,我呼應self.bounds,self.frame和self.transform在重寫的drawRect:每個子視圖 「磚」 的矩形方法。除非這些屬性都具有精確的像素尺寸,否則無法正確呈現每個圖塊的內容。 「邏輯維度」是什麼意思?邊界,框架和變換是定義篩選器上UIView的位置和方向的基本幾何屬性。 – dugla 2009-09-18 10:55:58

0

UPDATE

問題解決了。我忘記考慮正在考慮的協調框架。通過檢查超級框架/邊界/變換,它們確實在變焦過程中發生了變化。子視圖繪製發生在當地的座標系中,然後由父變換進行縮放。

沒有在這裏看到,移動。

乾杯,

道格