1
我使用AV基金會已經創建了一個主層和子層。主層顯示相機在用戶拍照前看到的實時「預覽」。用戶拍攝照片後,我想將子圖層內容屬性的值設置爲捕獲的照片。除了設置子圖層的內容外,一切都可以完美運行。麻煩改變的CALayer的「內容」屬性來拍攝照片
而且我知道子層工作,因爲我能夠給它的藍色背景色,當我拍攝照片的應用程序,將成功打開子層藍色。
這裏是我的代碼,我想設置的子層是拍攝的圖像:
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
UIImage *image = [[UIImage alloc]initWithData:imageData];
CALayer *subLayer = [CALayer layer];
subLayer.contents = (id)[UIImage imageWithData:imageData];
subLayer.frame = _previewLayer.frame;
[_previewLayer addSublayer:subLayer];
我已經嘗試設置子層的內容屬性像這樣的幾種不同的方式,但他們沒有工作:
subLayer.contents = (id) [UIImage imageWithData:imageData];
subLayer.contents = [UIImage imageWithData:imageData];
subLayer.contents = image;
另外,我知道子層的設置是否正確,因爲如果我添加此語句將打開子層或全藍,當我拍照: subLayer.backgroundColor = [UIColor blueColor].CGColor;
任何想法如何,我可以更新子層,使其顯示被拍攝的照片?