2012-02-23 75 views
0

我在尋找一種方法來讓CALayer的調整自身每當其子層改變(這意味着要麼當任何子層改變時,或者當子層陣列本身的變化的邊界)。什麼是CALayer等同於UIView的sizeToFit方法?

當我之前的觀點工作,我管理,通過在我的自定義UIView子類,這是每當視圖的子視圖改變由sizeToFit自動調用執行sizeThatFits。

由於CALayer的有sizeThatFits當量法首選大小,我很驚訝沒有找到sizeToFit當量。

+0

看看這個: http://stackoverflow.com/questions/8219588/catextlayer-wrapped-sizetofit – 2012-02-24 12:52:33

+0

我認爲這是有關sizeThatFits,不sizeToFit,因爲他想知道該層的大小應該是什麼。我可以計算出這個大小(通過preferredSize),但是我需要一個方法在子視圖發生變化時調用它(然後調用preferredSize並相應地設置圖層的框架)。 – bg890 2012-02-24 14:14:53

+0

爲什麼不直接使用UIView呢? – 2012-02-24 17:12:21

回答

0

我認爲你需要實現(覆蓋)的- (void)layoutSublayers ... *子類可以覆蓋這 *提供自己的佈局算法,應設置 *每個子幀

- (void)layoutSublayers 
{ 
// self.frame = aNewSubLayer.bounds 
// basically do algorithm for setting frame and bounds for this(self) layer and subLayers here 
} 
相關問題