代码之家  ›  专栏  ›  技术社区  ›  wh1t3cat1k

CGGradientCreateWithColors返回空指针

  •  6
  • wh1t3cat1k  · 技术社区  · 13 年前

    问题在子条款中描述; 下面是我的代码:

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    
    NSArray *colors = [NSArray arrayWithObjects:[UIColor redColor], [UIColor blueColor], nil];
    CGGradientRef gradient = CGGradientCreateWithColors(NULL, (CFArrayRef)colors, NULL);
    

    它是 不工作 . 实际上,最后一个调用返回 nil ;

    当我替换第一个参数时,它都不起作用 NULL 用一个 CGColorSpace 参考,例如设备RGB。

    怎么了,有人知道吗?

    3 回复  |  直到 7 年前
        1
  •  17
  •   Evan Mulawski    11 年前

    CGColor UIColor

    NSArray *colors = [NSArray arrayWithObjects:(id)[UIColor redColor].CGColor, (id)[UIColor blueColor].CGColor, nil];
    

    CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
    CGGradientRef gradient = CGGradientCreateWithColors(space, (CFArrayRef)colors, NULL);
    
        2
  •  3
  •   Ole Begemann    13 年前

    CGGradientCreateWithColors() CGColorRef UIColor

        3
  •  2
  •   Tim Cooper    13 年前
    CGFloat locations[2];
    locations[0] = 0.0;
    locations[1] = 1.0;
    
    CGGradientRef gradient = CGGradientCreateWithColors(space, (CFArrayRef)colors, locations);