2011-03-01 50 views
1

我有一个类需要NSString作为参数,使用核心文本来获取文本的大小,提取每一行,并呈现不同的x偏移文本行以给出扭曲的效果。clipToBounds问题:UIView对CALayer

我在核心图形绘制文本行时也应用了一个阴影,但是这个阴影被视图frameclipToBounds剪切不能解决这个问题。

问题1: 据我所知,clipsToBounds = NO只有影响子视图。这是否意味着UIViews,或者是否也适用于sub CALayer

问题2. 当我画CTLines我可以使用不同的UIViewCALayer的上下文来渲染,所以我可以用clipsToBounds正常吗?

回答

3
  1. clipsToBounds只适用于子图层,不适用于图层内容。

  2. 您可以扩大目标图层的大小,以包含阴影需要的区域,您可以从阴影的半径和偏移量中找到该区域。您可以操作图层的bounds属性,以便即使在生成图层时原点仍保持在同一位置。

举例来说,如果你以一个(100,100)的矩形,并与(0,0)1px的阴影偏移:

layer.bounds = CGRectMake(-1, -1, 102, 102).