2015-04-12 97 views
0

我有一个控制器呈现在iPad上的自定义形状。实际上,我已经使视图本身变得透明,但其子视图对用户可见。 我用下面的代码viewWillLayoutSubviews方法,使一个小矩形形式的控制器:UIViewController.view.superview自定义形状

self.view.backgroundColor = [UIColor clearColor]; 
self.view.superView.backgroundColor = [UIColor clearColor]; 
self.view.superview.bounds =... 

但是,如果我想不是矩形什么?有没有一种方法可以让CGPath为此达到目的?

回答

0

在这种情况下,您必须创建具有所需形状的CAShapeLayer,然后使用您创建的CAShapeLayer遮罩视图的图层。例如,带圆圈视图的视图:

UIBezierPath *aPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(150, 150) 
                radius:75 
               startAngle:0 
                endAngle:M_PI * 2 
                clockwise:YES]; 


CAShapeLayer *lm = [[CAShapeLayer alloc] init]; 
lm.path = aPath.CGPath; 
self.view.layer.mask = lm;