Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何绘制与UINavBar相同的渐变背景_Iphone_Objective C - Fatal编程技术网

Iphone 如何绘制与UINavBar相同的渐变背景

Iphone 如何绘制与UINavBar相同的渐变背景,iphone,objective-c,Iphone,Objective C,如何绘制与UINavBar相同的渐变背景 我想在UINavBar上添加一些背景相同的视图。它们会投射阴影,所以我不能简单地将它们设置为透明 ============================== 我得到了解决方案,非常简单 + (Class)layerClass { return [CAGradientLayer class]; } // // setupGradientLayer // // Construct the gradient for either construct

如何绘制与UINavBar相同的渐变背景

我想在UINavBar上添加一些背景相同的视图。它们会投射阴影,所以我不能简单地将它们设置为透明

==============================

我得到了解决方案,非常简单

+ (Class)layerClass
{
    return [CAGradientLayer class];
}

//
// setupGradientLayer
//
// Construct the gradient for either construction method
//
- (void)setupGradientLayer
{
    CAGradientLayer *gradientLayer = (CAGradientLayer *)self.layer;
    gradientLayer.colors =
        [NSArray arrayWithObjects:
            (id)[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0].CGColor,
            (id)[UIColor colorWithRed:0.69 green:0.74 blue:0.8 alpha:1.0].CGColor,
            (id)[UIColor colorWithRed:0.43 green:0.51 blue:0.63 alpha:1.0].CGColor,
            (id)[UIColor colorWithRed:0.3 green:0.3 blue:0.3 alpha:1.0].CGColor,
        nil];
    gradientLayer.locations = 
        [NSArray arrayWithObjects:
            [NSNumber numberWithFloat:0],
            [NSNumber numberWithFloat:0.02],
            [NSNumber numberWithFloat:0.98],
            [NSNumber numberWithFloat:1],
        nil];
    self.backgroundColor = [UIColor clearColor];
}

我认为可以通过在自定义视图中创建CAGradientLayer来实现这一点

您可以在此处找到有关此的文档:

谢谢。我找到了解决办法。