1

私はコードを持っています:

    previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[previewLayer setBackgroundColor:[[UIColor blackColor] CGColor]];
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
CALayer *rootLayer = [self.previewView layer];
[rootLayer setMasksToBounds:NO];
[previewLayer setFrame:CGRectMake([rootLayer bounds].origin.x, [rootLayer bounds].origin.y-20, [rootLayer bounds].size.width, [rootLayer bounds].size.height+40)];
[rootLayer addSublayer:previewLayer];

[previewLayer setBounds:previewLayer.frame];
[session startRunning];

画像のキャプチャを開始すると、スプラッシュ ホワイト ビューが 20px (ステータス バーの高さ) で上に移動します。また、スナップした写真のフレームが間違っています (上に -20、下に 20、または上に -20px が正しく、下に -20px)。実際のプレビュー画像フレームは

CGRectMake(15, 59, 290, 200).

現在、フレーム CGRect = (15, 59, 290, 170) で画像 (白いスプラッシュ ビュー) をキャプチャしています。しかし、スナップされた画像には CGRect = (15, 59, 290, 230) のようなフレームがあります。私が間違っていることは何ですか?助けてください..

4

0 に答える 0