2012-02-23 33 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 
} 
相关问题