形状像UIBezierPath的UIView?

val*_*674 3 calayer uiview ios uibezierpath

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

containerView.layer.path = someClosedUIBezierPath
Run Code Online (Sandbox Code Playgroud)

那么所有子视图是否也会根据它的父容器视图弯曲?

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

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

Aus*_*tin 7

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

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

CAShapeLayer shapeMask = [[CAShapeLayer alloc] initWithFrame:containerView.bounds];
shapeMask.path = someClosedUIBezierPath.CGPath;
containerView.layer.mask = shapeMask;
[shapeMask release];
Run Code Online (Sandbox Code Playgroud)