【问题标题】:CATiledLayer above normal CALayerCATiledLayer 高于正常的 CALayer
【发布时间】:2011-02-19 11:37:44
【问题描述】:

我正在尝试在一个图层上添加两个子图层。一层应作为(快速渲染)背景,而另一层(CATiledLayer)应显示其他内容。但是,CATiledLayer 不会出现在前面。普通的 CALayer 总是隐藏 CATiledLayer。当我删除线时

[self.layer addSublayer:lowRes];

CATiledLayer 是可见的。但背景并没有偏离方向。

这里是相关的代码部分

tiledLayer = [CATiledLayer layer];
//tiledLayer.delegate = self;
tiledLayer.tileSize = CGSizeMake(800.0, 800.0);
tiledLayer.levelsOfDetail = 4;
tiledLayer.levelsOfDetailBias = 4;
tiledLayer.frame = pageRect;
tiledLayer.zPosition = 2;
[tiledLayer setNeedsLayout];
[tiledLayer retain];

CALayer * lowRes = [CALayer layer];
lowRes.frame = tiledLayer.frame;
lowRes.zPosition = 1;
lowRes.contents = (id) [UIImage imageNamed:@"krant.jpg"].CGImage;
[self.layer addSublayer:tiledLayer];    
[self.layer addSublayer:lowRes];

如何使 CATiledLayer 在 CALayer 上方可见?提前致谢。

【问题讨论】:

    标签: iphone objective-c cocoa-touch ios calayer


    【解决方案1】:

    已经尝试反转 addSubLayer 调用?

    [self.layer addSublayer:lowRes];
    
    [self.layer addSublayer:tiledLayer];    
    

    【讨论】:

    • 在我的实现中,层是按照 Meronix 编写的顺序添加的。
    • 是的。我可以 100% 确定,但我认为我遇到了同样的问题,这就是我按此顺序添加图层的原因。
    猜你喜欢
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2012-01-12
    • 2011-02-28
    相关资源
    最近更新 更多