右上にUICollectionViewとバーボタンがあります(CameraViewController1:UICollectionViewController)。フローは、写真を撮ると、画像をトリミングできる新しいビューコントローラーに移動します。ユーザーには、いずれかを選択した後に使用とキャンセルの2つのオプションがありますこのオプションを選択すると、画像がコレクション ビューに戻り、セルのように配置されます。たくさんの写真を撮りたいのですが、アプリがすぐにクラッシュし、「メモリが原因でアプリが終了しました」というメッセージが表示されるため、最大 3 枚の写真しか撮影できません。しかし、最悪の部分は、iOS 7 を実行している iPhone 5 で同じアプリをテストしたときにクラッシュが発生しなかったことです。
ここに私のコード
- (IBAction)TakeaPhoto:(id)sender {
[[UIApplication sharedApplication]setStatusBarHidden:FALSE withAnimation:NO];
gallery=0;
picker1 = [[UIImagePickerController alloc] init];
picker1.delegate = self;
self.resizeableCropArea =YES;
self.cropSize=CGSizeMake(300,350);
//picker1.allowsEditing = YES;
picker1.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker1 animated:YES completion:NULL];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self dismissViewControllerAnimated:YES completion:NULL];
UIImage *image = [info objectForKey: UIImagePickerControllerOriginalImage];
image_cap = [self imageTemp:image scaledToSize:CGSizeMake(320, 370)];
dataTemp = UIImageJPEGRepresentation(image,0.0);
CropViewController *cropController = [[CropViewController alloc] init];
cropController.sourceImage = [info objectForKey:UIImagePickerControllerOriginalImage];
Original_img = UIImageJPEGRepresentation(cropController.sourceImage,0.0);
[original_image addObject:[UIImage imageWithData:Original_img]]; //original_image Nsmutablearray
NSLog(@"source image=%@",cropController.sourceImage);
cropController.resizeableCropArea = self.resizeableCropArea;
cropController.cropSize = self.cropSize;
cropController.delegate = self;
Cancel_Image= cropController.sourceImage;
[self.navigationController pushViewController:cropController animated:YES];
}