【发布时间】:2013-07-24 14:35:50
【问题描述】:
我知道我需要使用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。
请在这个问题上帮助我,把代码的sn-p或者有用的教程或者给我你的黄金建议。
【问题讨论】:
标签: iphone ios objective-c cocos2d-iphone