簡體   English   中英

iPhone SDK-如何在使用UIGetScreenImage之前隱藏cameraOverlayView?

[英]iPhone SDK - How to hide cameraOverlayView before using UIGetScreenImage?

我正在嘗試在不覆蓋頂部的情況下拍攝攝像機圖片的全屏圖像。

在我的疊加層控制器中,我嘗試使用以下代碼行隱藏疊加層:

[self.view setHidden:YES];
[self.view setNeedsDisplay];
CGImageRef screen = UIGetScreenImage();
UIImage* image = [UIImage imageWithCGImage:screen];
CGImageRelease(screen);
self.view.hidden = NO;

UIGetScreenImage仍顯示覆蓋UI。

有什么辦法可以做到這一點?

您需要設置UIImagePickerController實例的cameraOverlayView屬性,然后使用takePicture方法獲取當前圖像。 在您的代表中,您需要實現:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [self closeImagePickerController];

    // Get the edited or original image
    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
    if (image == nil)
        image = [info objectForKey:UIImagePickerControllerOriginalImage];

    // Do something with the image...
}

蘋果再次將UIGetScreenImage()設為私有API,因此您不再可以使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM