【问题标题】:Alternative method for canDrawSubviewsIntoLayer prior to OSX 10.9OSX 10.9 之前的 canDrawSubviewsIntoLayer 的替代方法
【发布时间】:2014-07-19 01:22:02
【问题描述】:

我需要在我的图像视图中实现以下代码以使 gif 正确动画:

self.homeView.radarImageView.animates = YES;
self.homeView.radarImageView.canDrawSubviewsIntoLayer = YES;
self.homeView.radarImageView.image = currentData.radarImage;

很遗憾,canDrawSubviewsIntoLayer 方法与 10.9 之前的 OSX 不兼容。我可以使用其他方法来使其在 OSX 10.7 及更高版本中正常工作吗?

【问题讨论】:

    标签: objective-c cocoa calayer nsimage nsimageview


    【解决方案1】:

    避免 10.8 及以下版本的基于图层的视图,因为它们似乎无法与动画 gif 很好地混合

    见: How to display animated GIF in Objective C on top of the layered View?

    编辑:

    正如评论中所要求的,可以绘制渐变(以及所有其他效果而不使用图层)
    例如,对于渐变,有一个 NSGradient 采用 NSColors 并可以填充一个矩形

    无耻塞:

    一个 NSView 可以在你的背景中绘制你想要的所有东西:颜色、渐变、图案图像、只是一个图像、一个边框、圆角......全部在一个视图中 https://github.com/Daij-Djan/DDBackgroundView

    【讨论】:

    • 我有分层的支持视图,所以我可以为背景创建渐变颜色。如果视图没有图层支持,我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多