CAGradientLayer无法在iOS 7上运行(但可以在iOS 6上运行)

林书豪

我正在使用下面的代码向我的表格单元格添加微妙的渐变效果。

    // add a layer that overlays the cell adding a subtle gradient effect
    CAGradientLayer* gradientLayer = [CAGradientLayer layer];
    NSLog(@"%@",NSStringFromCGRect(cell.bounds));
    gradientLayer.frame = cell.bounds;
    gradientLayer.colors = @[(id)[[UIColor colorWithWhite:1.0f alpha:0.2f] CGColor],
                             (id)[[UIColor colorWithWhite:1.0f alpha:0.1f] CGColor],
                             (id)[[UIColor clearColor] CGColor],
                             (id)[[UIColor colorWithWhite:0.0f alpha:0.1f] CGColor]];
    gradientLayer.locations = @[@0.00f, @0.01f, @0.95f, @1.00f];
    [cell.layer insertSublayer:gradientLayer atIndex:0];

运行代码后,我可以看到CAGradientLayer已添加到我的cell.layer中。但是,当我在iOS 7 Simulator上运行该应用程序时,我根本看不到它。

<CALayer:0xaca1980; sublayers = (<CAGradientLayer: 0xaad2110>, <CALayer: 0xaca2a70>); 

该代码可在iOS 6上正常运行。

如果CAGradientLayer无法再在iOS 7上运行,该如何为我的表格单元格添加渐变呢?

提前致谢。

林书豪

我已通过更改解决此问题

[cell.layer insertSublayer:gradientLayer atIndex:0];

[cell.layer insertSublayer:gradientLayer atIndex:1];

为了向后兼容。我正在使用这样的代码

    if ([Common isiOS7]) {
        [self.layer insertSublayer:_gradientLayer atIndex:1];
    }
    else {
        [self.layer insertSublayer:_gradientLayer atIndex:0];
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS绑定库无法在模拟器上运行,但可以在设备上运行

来自分类Dev

noUiSlider无法在Heroku上运行,但可以在本地运行

来自分类Dev

iOS App无法在iPod touch 5G上启动(但可以在iPhone 5上运行)

来自分类Dev

故事板应用程序可以在iOS 7上运行,但可以在iOS 6.1上进行导航栏切换

来自分类Dev

iOS构建无法在GitHub Actions上运行(没有快速通道),但可以间歇性地工作

来自分类Dev

约束动画无法在设备上运行,但可以在模拟器上运行

来自分类Dev

Firebase无法在脚本上运行,但可以在主要html上运行(Javascript)

来自分类Dev

核心数据无法在设备上运行,但可以在模拟器上正常运行

来自分类Dev

SSD上无法运行的磁盘映像,但可以在HDD上运行

来自分类Dev

jar文件无法在Java 7中运行,但可以在Java 6中运行

来自分类Dev

Javascript无法在移动设备上运行,但可以在台式机上运行

来自分类Dev

脚本无法在本地运行,但可以在服务器上运行

来自分类Dev

FMDB数据库无法在设备上运行,但可以在模拟器中运行

来自分类Dev

Maven构建无法在Jenkins上运行,但可以在本地计算机上运行

来自分类Dev

资产无法在iOS8上加载,但可以在iOS9上加载

来自分类Dev

Javascript无法在Chrome上执行,但可以在FF和IE上正常运行

来自分类Dev

QLPreviewController在iOS 6上运行;在iOS 7上不

来自分类Dev

如何上传可以在具有iOS旧版外观的iOS 7上运行的iOS 6应用

来自分类Dev

如何上传可以在具有iOS旧版Look的iOS 7上运行的iOS 6应用

来自分类Dev

日期格式化程序无法在iOS6中使用,但可以在iOS 7中使用

来自分类Dev

推送通知无法在iOS7中使用,但可以在iOS6中使用

来自分类Dev

Wifi USB记忆棒无法在运行Windows 10的PC上运行,但可以在笔记本电脑上运行

来自分类Dev

无法从PHP运行Rscript,但可以从终端完美运行

来自分类Dev

在iOS 6而非iOS 7上运行时出错

来自分类Dev

cPanel Node.js应用程序无法连接到MongoDB Atlas集群,但可以在Heroku上运行

来自分类Dev

UICollectionView可在iOS7上运行,但不能在iOS6上运行

来自分类Dev

AVAudioPlayer无法在iOS7上运行

来自分类Dev

BluetoothManager无法在iOS 7上运行

来自分类Dev

BluetoothManager无法在iOS 7上运行

Related 相关文章

  1. 1

    iOS绑定库无法在模拟器上运行,但可以在设备上运行

  2. 2

    noUiSlider无法在Heroku上运行,但可以在本地运行

  3. 3

    iOS App无法在iPod touch 5G上启动(但可以在iPhone 5上运行)

  4. 4

    故事板应用程序可以在iOS 7上运行,但可以在iOS 6.1上进行导航栏切换

  5. 5

    iOS构建无法在GitHub Actions上运行(没有快速通道),但可以间歇性地工作

  6. 6

    约束动画无法在设备上运行,但可以在模拟器上运行

  7. 7

    Firebase无法在脚本上运行,但可以在主要html上运行(Javascript)

  8. 8

    核心数据无法在设备上运行,但可以在模拟器上正常运行

  9. 9

    SSD上无法运行的磁盘映像,但可以在HDD上运行

  10. 10

    jar文件无法在Java 7中运行,但可以在Java 6中运行

  11. 11

    Javascript无法在移动设备上运行,但可以在台式机上运行

  12. 12

    脚本无法在本地运行,但可以在服务器上运行

  13. 13

    FMDB数据库无法在设备上运行,但可以在模拟器中运行

  14. 14

    Maven构建无法在Jenkins上运行,但可以在本地计算机上运行

  15. 15

    资产无法在iOS8上加载,但可以在iOS9上加载

  16. 16

    Javascript无法在Chrome上执行,但可以在FF和IE上正常运行

  17. 17

    QLPreviewController在iOS 6上运行;在iOS 7上不

  18. 18

    如何上传可以在具有iOS旧版外观的iOS 7上运行的iOS 6应用

  19. 19

    如何上传可以在具有iOS旧版Look的iOS 7上运行的iOS 6应用

  20. 20

    日期格式化程序无法在iOS6中使用,但可以在iOS 7中使用

  21. 21

    推送通知无法在iOS7中使用,但可以在iOS6中使用

  22. 22

    Wifi USB记忆棒无法在运行Windows 10的PC上运行,但可以在笔记本电脑上运行

  23. 23

    无法从PHP运行Rscript,但可以从终端完美运行

  24. 24

    在iOS 6而非iOS 7上运行时出错

  25. 25

    cPanel Node.js应用程序无法连接到MongoDB Atlas集群,但可以在Heroku上运行

  26. 26

    UICollectionView可在iOS7上运行,但不能在iOS6上运行

  27. 27

    AVAudioPlayer无法在iOS7上运行

  28. 28

    BluetoothManager无法在iOS 7上运行

  29. 29

    BluetoothManager无法在iOS 7上运行

热门标签

归档