0

おはようございます。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 によってトリガーされたときのメモリ アドレス。

ありがとうございました

4

1 に答える 1