layerUsesCoreImageFilters在首次使用时会导致毛刺

时间:2014-10-25 14:59:39

标签: macos osx-mavericks

当我使用视图是层后端并且使用layerUsesCoreImageFilters = YES时,我第一次使用过滤器时,视图会重新初始化'。它很丑陋。 我在子视图上使用模糊滤镜,但它会导致整个视图变为空白并重新出现。 我目前在小牛队(10.9.4) 无论如何有一种标准的方法来强制在app启动时初始化?

1 个答案:

答案 0 :(得分:0)

我能够通过在awakeFromNib中显示每个顶级视图之前的某些顶级视图上设置layerUsesCoreImageFilters来解决这个问题。这导致后续调用其他视图上的setLayerUsesCoreImageFilters正常工作,没有任何绘图问题或闪烁视图。

awakeFromNib中的类似内容:

NSArray *subviews = self.mainView.subviews;

for (NSView *subview in subviews)
{
    if ([subview respondsToSelector:@selector(setLayerUsesCoreImageFilters:)])
    {
        if (!subview.layerUsesCoreImageFilters)
        {
          [subview setLayerUsesCoreImageFilters:YES];
        }
    }
}