早上好,我通过 ViewController 类中的 startPreview 方法将 AVCaptureVideoPreviewLayer 添加到了我的视图中。
- (void) startPreview
{
preview = [[CameraEngine engine] getPreviewLayer];
[preview removeAllAnimations];
preview.frame = self.imageView.bounds;
[[preview connection] setVideoOrientation:AVCaptureVideoOrientationPortrait];
[self.cameraView.layer addSublayer:preview];
[self.imageView.layer addSublayer:preview];
}
然后我有以下方法将图标添加到视图
- (void)addIcon:(NSNotification *)notification{
UIView* iview;
NSDictionary* userInfo2 = [notification userInfo];
int originX = [userInfo2[@"originX"]intValue];
int originY = [userInfo2[@"originY"]intValue];
iview = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mouse_ico.png"]];
[iview setFrame:CGRectMake(0,0, iview.frame.size.width/4, iview.frame.size.height/4)];
[iview setUserInteractionEnabled:NO];
[self.view addSubview:iview];
[self.view setNeedsDisplay];
}
如果我通过代码调用方法“addIcon”
[self addIcon:(NSNotification*)nil];
从方法“startPreview 它工作正常。当我等待来自另一个类的事件时,图标没有出现。我调试了代码并且事件被正确触发,并且方法 addIcon 被调用。“self.view”具有相同的当从 startPreview 到达 addIcon 以及由 NotificationCenter 触发时的内存地址。
谢谢