1
나는 카메라를 통해 애니메이션을 만들었고 모든 것이 잘 작동합니다. 카메라를 시작하고 오버레이에서 이미지를 이동 한 다음 사진으로 저장할 수 있습니다.iphone SDK 카메라 오버레이 애니메이션, 어떻게 미리보기에서 멈출 수 있습니까?
내 문제는 "미리보기"에서 애니메이션이 계속 움직이고 있으며 카메라가이 모드로 들어가는 시점을 알 수 없습니다. 나는 부울을 검사하는 법이나 오버레이를 막을 수있는 방법을 모른다.
미리보기를 건너는 방법이 있습니까? 아니면 카메라 상태를 보여주는 기능이 있습니까?
감사합니다.
// camera declaration
{
UIImagePickerController *imagePicker;
imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
imagePicker.showsCameraControls = YES;
imagePicker.navigationBarHidden = YES;
imagePicker.toolbarHidden = YES;
imagePicker.cameraOverlayView = overlayView;
[self presentModalViewController:imagePicker animated:YES];
[self.view bringSubviewToFront:overlayView];
}
// animation
UIImageView *ani1;
ani1 = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ani1.png"]] autorelease];
[self.overlayView addSubview:ani1];
// loop for animation
[NSTimer scheduledTimerWithTimeInterval:0.05f target:self selector:@selector(loop) userInfo:nil repeats:YES];
-(void)loop {
// move x y each loop
newFrame = CGRectMake(x, y, 320, 480);
[ani1 setFrame:newFrame];
}
// camera finish
// take photo + overlay and save it
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
imagePicker.showsCameraControls = NO;
[self presentModalViewController:imagePicker animated:NO];
[self.view bringSubviewToFront:overlayView];
UIGraphicsBeginImageContext(picker.view.bounds.size);
[picker.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *newImage;
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(newImage, nil, nil, nil);
}