【问题标题】:Getting Error after updating to XCode 5.1更新到 XCode 5.1 后出现错误
【发布时间】:2014-03-24 11:48:04
【问题描述】:

PCSEQAudioBar

嗨,我正在开发一个使用 PCSEQAudioBar 的应用程序,它在 Xcode 5.0.2 上运行良好,在将其更新到 5.1 后,我突然开始这个错误..我不能编译我的代码或部署它或任何东西......

Incompatible pointer types passing retainable parameter of type 'CFArrayRef' (aka 'const struct __CFArray *')to a CF function expecting 'const CGFloat *' (aka 'const float *') type

我在这一行遇到了这个错误……

CGGradientRef _gradientRef = CGGradientCreateWithColorComponents(rgb, (__bridge CFArrayRef) colors, NULL, sizeof(colors) / (sizeof(colors[0]) * 4));

请帮忙...提前谢谢..

【问题讨论】:

    标签: ios objective-c xcode compiler-errors


    【解决方案1】:

    您需要传递CGFloat 数组而不是NSArray

    例如:

    static const CGFloat colors [] = { 
        0.894, 0.894, 0.894, 1.0, 
        0.694, 0.694, 0.694, 1.0
    };
    

    Apple docs 中有关此 API 的更多信息,

    此数组中的项目数应该是计数和颜色空间中组件数的乘积。例如,如果颜色空间是 RGBA 颜色空间,并且您想在渐变中使用两种颜色(一种用于起始位置,另一种用于结束位置),那么您需要在分量中提供 8 个值——红色、绿色、第一种颜色的蓝色和 alpha 值,然后是第二种颜色的红色、绿色、蓝色和 alpha 值。

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      相关资源
      最近更新 更多