繁体   English   中英

当我触摸 UIVIew 时,CALayer/UIView 崩溃

[英]CALayer/UIView crashes when I touch the UIVIew

我正在使用自定义图层在我的UIView上绘图。 为了使图层无效和更新,我需要将我的视图设置为我的CALayer的代表。 完成后,它会正确绘制我的文本,但是当视图接收到触摸时,应用程序会崩溃。 我做错了什么?

- (void) layoutSubView {
    if (drawLayer == nil) {
        drawLayer = [[CALayer alloc] init];
        [drawLayer setDelegate:self];
        [[self layer] addSublayer:drawLayer];
    }
    [drawLayer setFrame:[self bounds]]; 
    [drawLayer setNeedsDisplay];
}

上面是我设置 CALayer 的代码,下面是覆盖的 drawLayer 方法。

- (void) drawLayer:(CALayer *)layer 
     inContext:(CGContextRef)ctx {

        if (layer == drawLayer) {
        UIGraphicsPushContext(ctx);
        [self drawTitle:ctx];
        UIGraphicsPopContext();
    }
}

这是堆栈。

在此处输入图像描述

您不能使用UIView object 作为其自身图层以外的图层的代表。 here说明。 您需要指定其他一些 object 作为其代表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM