我正在尝试从UIBezierPath
清除UIView
。我有一个名为LinearSig
的类,它具有所有绘图功能。 (从我遵循的教程)我在LinearSig
内有以下方法:
- (void)clearSig {
NSLog(@"clear");
path = nil;
incrementalImage = nil;
path = [UIBezierPath bezierPath];
[self setNeedsDisplay];
}
当我从SigViewController
调用该方法时,NSLog
语句被调用并打印到控制台,但路径不会被清除。如果我在LinearSig
内调用该方法,可以说在触摸方法之后,该方法工作正常。一切都被抹去了。
我从另一个视图控制器调用该方法,因为它全部位于自定义UIAlertView
内。
这就是我调用方法的方式
- (IBAction)clearSig:(id)sender {
self.ls = [[LinearSig alloc] init];
[self.ls clearSig];
}
ls
是我声明的属性。知道为什么这不起作用吗?
答案 0 :(得分:1)
您正在创建LinearSig
的新实例,然后清除该实例。您需要指向您尝试清除图表的LinearSig
实例。