我有一个以NSString
为参数的类,使用Core Text获取文本的大小,提取每一行并使用不同的x偏移呈现文本行以产生偏斜效果。
当Core Graphics绘制文本行时,我也会应用阴影,但是这些阴影被视图frame
剪切并且clipToBounds
无法解决此问题。
问题1。
我了解clipsToBounds = NO
仅会影响子视图。这意味着UIViews
,还是它也适用于子CALayer
?
问题2。
当我绘制CTLines
时,我可以使用不同的UIView
或CALayer
上下文进行渲染,因此我可以正确使用clipsToBounds
吗?
答案 0 :(得分:3)
clipsToBounds仅适用于子图层,而不适用于图层内容,是。
您可以扩展目标图层的大小以包含阴影所需的区域,您可以从阴影的半径和偏移中找出该区域。您可以操纵图层的bounds
属性,以便即使图层已经生长,原点也会保留在同一位置。
例如,如果你从一个(100,100)矩形开始并且有一个带有(0,0)偏移的1px阴影:
layer.bounds = CGRectMake(-1, -1, 102, 102).