ライブラリUIImagePickerController
から写真を撮るか、手動で撮るために使用する必要があることを知っています。
私のアプリケーションはcocos2D
(iOS 6)で、手動またはライブラリから写真を撮る機能を配置する必要があります。
私のコードは次のとおりです。
.hファイル内
@interface HelloWorldLayer : CCLayer <UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIActionSheetDelegate>
.mファイル内
-(void)btnTakePhotoPressed:(UIButton *) Sender
{
UIActionSheet *actionsheet = [[UIActionSheet alloc] initWithTitle:@"Take photo" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:@"Take photo from camera", @"Select from library", nil];
[actionsheet showFromRect:Sender.frame inView:self.scrollView animated:YES];
}
#pragma Mark -
#pragma Mark - ActionSheet Delegate Methods
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
[[XPSModal sharedInstance] hide];
UIImagePickerController *imgPicker=[[UIImagePickerController alloc] init];
imgPicker.delegate=self;
imgPicker.wantsFullScreenLayout = YES;
imgPicker.allowsEditing=YES;
if(buttonIndex == 0)
{
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
else
imgPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
else if (buttonIndex==1)
{
imgPicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
self.popoverController = [[UIPopoverController alloc] initWithContentViewController:imgPicker];
self.popoverController.delegate = self;
[self.popoverController presentPopoverFromRect:[self.btnTakePhoto bounds] inView:[[CCDirector sharedDirector] view] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
UIImage *newImage = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[picker dismissModalViewControllerAnimated:YES];
//[picker.view removeFromSuperview];
CCSprite *imageFromPicker = [CCSprite spriteWithCGImage:newImage.CGImage key:@"ImageFromPicker"];
[self addChild:imageFromPicker];
}
このコードを実行するUIImagePickerController
と表示されますが、画像を選択したり実行したりできません。また、削除することもできませんUIImagePickerController
。
この問題で私を助けてください、コードのスニペットまたは有用なチュートリアルを入れるか、あなたの黄金の提案をしてください.