首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清除CALayer

清除CALayer
EN

Stack Overflow用户
提问于 2011-05-30 10:25:37
回答 1查看 6.5K关注 0票数 5

我使用CALayerCATextLayers在iPhone上的sudoku网格上列出数字。

我有一个tableView,上面列出了一些sudokus。当我点击一个表格单元格时,它会显示另一个viewController中的sudoku,它被推到导航控制器上。

在我的- (void)viewWillAppear..。方法调用我的- (void)loadSudoku方法,下面将向您展示该方法。

问题是当您查看一个sudoku时,使用navigationBar中的" back“按钮返回到表视图,然后点击另一个sudoku。然后旧的sudoku还在那里,新的画在旧的上面。

我想我得把旧的清理干净。有什么想法吗?我确实通过实际sudoku网格的界面构建器设置了一个背景图像。我不想移除这个。

绘制sudoku的方法如下所示:

代码语言:javascript
复制
- (void)loadSudoku
{
    mainLayer = [[self view] layer];
    [mainLayer setRasterizationScale:[[UIScreen mainScreen] scale]];

    int col=0;
    int row=0;
    for(NSNumber *nr in [[self sudoku] sudoku])
    {
        if([nr intValue] != 0)
        {
            //Print numbers on grid
            CATextLayer *messageLayer = [CATextLayer layer];
            [messageLayer setForegroundColor:[[UIColor blackColor] CGColor]];
            [messageLayer setContentsScale:[[UIScreen mainScreen] scale]];

            [messageLayer setFrame:CGRectMake(col*36+5, row*42, 30, 30)];
            [messageLayer setString:(id)[nr stringValue]];

            [mainLayer addSublayer:messageLayer];
         }

        if(col==8)
        {
            col=0; row++;
        }else
        {
        col++;
        }
    }
    [mainLayer setShouldRasterize:YES];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-30 10:33:49

如果只删除文本层,您可以这样做-

代码语言:javascript
复制
NSIndexSet *indexSet = [mainLayer.sublayers indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop){
    return [obj isMemberOfClass:[CATextLayer class]];
}];

NSArray *textLayers = [mainLayer.sublayers objectsAtIndexes:indexSet];
for (CATextLayer *textLayer in textLayers) {
    [textLayer removeFromSuperlayer];
}

简而言之,第一条语句获取文本层的所有索引,这些索引是根层上的子层。然后,在第二条语句中,我们将所有这些层放在一个单独的数组中,然后将它们从它们的上层(即根层)中删除。

原始答案

试试看,

代码语言:javascript
复制
mainLayer.sublayers = nil;
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6175096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档