3 개의 화면이있는 응용 프로그램으로 작업하고 있습니다.탐색 후 카메라 오버레이가 닫힌 채로 있습니다.
처음에는 대기 화면입니다. 버튼이있는 홈 화면에서 사용자는 두 번째 화면으로 이동하여 사진을 찍는 버튼이있는 카메라 오버레이를 갖습니다.
사용자가 사진을 찍으면 마지막 화면으로 이동하는 버튼을 누를 수 있습니다. 그러나 마지막 화면에서 집으로 이동 한 다음 오버레이 두 번째 화면으로 이동하면 카메라가 닫힙니다. 버튼을 누르면 사진을 찍을 수 있지만 카메라를 통해 볼 수는 없습니다.
if (self.imageView.isAnimating)
self.imageView.stopAnimating;
if ([UIImagePickerController isSourceTypeAvailable:sourceType])
{
[self.overlayViewController setupImagePicker:sourceType];
[self presentModalViewController:self.overlayViewController.imagePickerController animated:YES];
}
overlayviewcontroller
두 번째 화면입니다
과 overlayviewcontroller
에서 다음 코드 :
- (void)setupImagePicker:(UIImagePickerControllerSourceType)sourceType
{
self.imagePickerController.sourceType = sourceType;
if (sourceType == UIImagePickerControllerSourceTypeCamera)
{
self.imagePickerController.showsCameraControls = NO;
if ([[self.imagePickerController.cameraOverlayView subviews] count] == 0)
{
CGRect overlayViewFrame = self.imagePickerController.cameraOverlayView.frame;
CGRect newFrame = CGRectMake(0.0,
CGRectGetHeight(overlayViewFrame) - self.view.frame.size.height - 10.0,
CGRectGetWidth(overlayViewFrame),
self.view.frame.size.height + 10.0);
self.view.frame = newFrame;
[self.imagePickerController.cameraOverlayView addSubview:self.view];
}
}
}
내가 어떤 감사하겠습니다
나는 오버레이를 시작하기 위해 홈 화면에 다음과 같은 코드를 사용 도움.
안녕하십니까, 정말로 진심으로 감사드립니다. 그러나 문제는이 코드가 문제를 해결하지 못했다는 것입니다. 오버레이에는 카메라가 있고 하단에 사진 촬영 버튼이 있습니다.결과적으로 사진 촬영 버튼이 2 초 지연되어 표시되지만 탐색 후 카메라는 여전히 닫혀 있습니다. 사용자는 사진을 찍을 수는 있지만 카메라가 어떤 사진을 찍고 있는지는 볼 수 없습니다. 문제의 해결책을 제시 할 수 있을지 궁금합니다. 미리 감사드립니다. – user1480179
ok 해결책을 줄 수 있기 전에 해결했습니다. 하지만 약간의 시간이 필요합니다 –
이미지를 찍은 후 imagePickerController를 dealloc해야하고 이미지를 가져 오기 위해 imagePicker 페이지를 탐색 할 때 다시 할당해야한다고 생각합니다. 이것은 메모리 관련 문제로 보입니다. 일부 리소스를 비워야 할 필요가 있고 그 시간에 사진을 찍을 필요가있을 때 imagePickerController를 줄 바로 앞에 할당해야하며 사진을 찍은 후이를 해제해야합니다. –