わかった。私は他の誰かのコードを継承したので、CALayers について学んでいます。背景全体 (ツールバーを除く) を占めるビューと、ビューの下部近くの小さな四角形を占めるサブビューがあります。自動レイアウトを使用しようとしています。それは私が問題を抱えている背景ビューです。ビューのサイズ(320 x 505)を維持するために、幅と高さ、および高さと幅を取得するために知っている他のいくつかのことを固定しようとしました。レイヤーが私を台無しにしているのか、それとも他のビューなのかはわかりません. とにかく、ここに問題のコードがあります。自動レイアウトをオフにすると、幅と高さが正しくなります。自動レイアウトをオンにすると、幅と高さが負の数になり、ゼロに設定されます。これを修正する方法についてのアイデアはありますか?
UIView *view = [self videoPreviewView];
CGRect bounds = [[self videoPreviewView] bounds]; //bounds gets set here
//values are same as below
[self setCaptureManager:captureManager];
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:[captureManager session]];
CALayer *viewLayer = [view layer];
[viewLayer setMasksToBounds:YES];
[captureVideoPreviewLayer setFrame:bounds]; //Use Autolayout off: x=0, y=0, width=320, height=504
//Use Autolayout on: x=0, y=0, width=0, height=0
ありがとうございました。