形状像UIBezierPath的UIView?

时间:2012-07-26 09:42:22

标签: ios uiview calayer uibezierpath

iOS上是否可以在某些CGRect中制作常规UIView并向其添加子视图,然后告诉该容器UIView:

containerView.layer.path = someClosedUIBezierPath

然后所有的子视图都会根据它的父容器视图弯曲吗?

我知道每个UIView都拥有它自己的CALayer,这将是我的起点。

我看过动画的例子,但我没有看到上面的内容(也许是因为它不存在:))

1 个答案:

答案 0 :(得分:7)

这有点晚了,但也许会对某人有所帮助:

您可以使用CAShapeLayer和视图图层的mask属性将视图剪切为贝塞尔曲线路径:

CAShapeLayer shapeMask = [[CAShapeLayer alloc] initWithFrame:containerView.bounds];
shapeMask.path = someClosedUIBezierPath.CGPath;
containerView.layer.mask = shapeMask;
[shapeMask release];