2013-10-04 136 views
0

我正在使用Apple的AVCam示例,並試圖修改佈局以使用iPad。更改視圖圖層的大小和視圖的位置

我試圖讓狀態欄始終存在,但無論何時啓用它(我認爲是videoPreviewView及其viewLayer)都處於狀態欄的狀態。所以我需要把這個向下移動20px來爲狀態欄騰出空間,但我不知道如何。

AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:[[self captureManager] session]]; 
    UIView *view = [self videoPreviewView]; 
    CALayer *viewLayer = [view layer]; 
    [viewLayer setMasksToBounds:YES]; 

    CGRect bounds = [videoPreviewView bounds]; 
    [[self view] setBounds:bounds]; 
    newCaptureVideoPreviewLayer.bounds = bounds; 
    [newCaptureVideoPreviewLayer setFrame:bounds]; 

回答

0

將這個下UIView *view = [self videoPreviewView];

CGPoint viewCenter = view.center; 
viewCenter = CGPointMake(viewCenter.x, viewCenter.y - 20) 
view.center = viewCenter; 
+0

由於某種原因,這似乎推動了更進一步。所以現在視圖底部和底部的工具欄之間有20px的間隔。我嘗試將它改爲+20,並且它確實將它向下移動,但它重疊了當時的工具欄。 – lampwins

0

添加此向AdamG的答案的伎倆,不知道爲什麼,或者如果它是一個可行的解決方案。任何人都在意鐘聲?

CGPoint viewCenter = view.center; 
viewCenter = CGPointMake(viewCenter.x, viewCenter.y + 20); 
view.center = viewCenter; 
CGRect temp = view.frame; 
temp.size.height += -20; 
view.frame = temp;