添加CALayer作为UIView内部的子图层

时间:2013-03-26 13:39:44

标签: ios objective-c calayer

我正在使用最新的SDK开发iOS应用程序。

我想在CALayer中添加UIView,此CALayer将小于UIView。我想模拟某种边缘。

static int const NSLayerX       = 0;
static int const NSLayerY       = 0;
static int const NSLayerWidth   = 60;
static int const NSLayerHeight  = 60;

- (void)setBackgroundLayer:(UIColor*)startColor endColor:(UIColor*)endColor cornerRadius:(int)radius
{
    backgroundGradientLayer  = [CAGradientLayer layer];
    backgroundGradientLayer.frame = CGRectMake(NSLayerX, NSLayerY, NSLayerWidth, NSLayerHeight);
    backgroundGradientLayer.cornerRadius = radius;
    backgroundGradientLayer.colors =
    [NSArray arrayWithObjects:(id)[startColor CGColor], (id)[endColor CGColor], nil];
    [self.layer insertSublayer:backgroundGradientLayer atIndex:0];
}

但我不知道如何将它设置为中心。

我是否必须更改NSLayerX和NSLayerY的值?

1 个答案:

答案 0 :(得分:1)

指定图层的框架如下。

backgroundGradientLayer.frame = CGRectMake(self.frame.size.width/4,  self.frame.size.height/4, self.frame.size.width/2, self.frame.size.height/2);