我的 ViewController 中有一个添加图像视图的方法。图像视图又被子类化为可拖动的。触摸时,子类会触发 ViewController 中的方法 (spawnImage) 以生成新图像。如果我从 ViewController 中的任何其他位置调用此方法,则正确绘制图像,但是如果调用源自子类,则调用该方法,NSLog 工作但图像不显示。
似乎我正在子类中创建 ViewController 的另一个实例,并最终将图像添加到该实例而不是实际显示的实例中。
我怎么能解决这个问题?
UIImageView 的子类:
- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
…
ViewController *viewController = [[ViewController alloc] init];
[viewController checkIfImageIsInOriginalPosition:selfCenter letterIndex: imgTag];
}
视图控制器.m:
-(void)checkIfImageIsInOriginalPosition:selfCenter letterIndex: imgTag {
…
else {
[self spawnImage];
}
}
-(void)spawnImage {
…
NSLog(@"Received");
SubClass *subClass = [[SubClass alloc] initWithFrame:frame];
[subClass setImage:image];
[self.view addSubview:subClass];
}