当我触摸UIVIew时,CALayer / 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();
    }
}
这是堆栈。       

解决方法

        您不能使用“ 0”对象作为其自身图层以外的其他图层的委托。记载为“ 5”。您将需要分配一些其他对象作为其委托。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...