How to make UIImagePickerController works under switch case UIActionSheet
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *tempImage = [info objectForKey:UIImagePickerControllerOriginalImage];
imgview.image = tempImage;
[self dismissModalViewControllerAnimated:YES];
[picker release];
}
-(void)imagePickerControllerDidCancel开发者_开发百科:(UIImagePickerController *)picker
{
[self dismissModalViewControllerAnimated:YES];
[picker release];
}
-(IBAction) calllib
{
img1 = [[UIImagePickerController alloc] init];
img1.delegate = self;
img1.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:img1 animated:YES];
}
all the codes above works well for taking out photos from the photo library.
problem is that when i tried to use it under the UIActionSheet it does not work.
i just copy the lines of codes from the -(IBAction) calllib as follow.
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
UIImage *detectface = [Utilities detectFace:imgview.image];
UIImage *grayscale = [Utilities grayscaleImage:imgview.image];
UIImage *avatars = [Utilities avatars:imgview.image];
img1 = [[UIImagePickerController alloc] init];
img1.delegate = self;
img1.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
switch (buttonIndex)
{
case 0:
[self presentModalViewController:img1 animated:YES];
imgview.image = detectface;
break;
case 1:
[self presentModalViewController:img1 animated:YES];
imgview.image = grayscale;
break;
case 2:
[self presentModalViewController:img1 animated:YES];
imgview.image = avatars;
break;
default:
break;
}
}
it does not work. can somebody help me to figure out what is the problem?
the switch case works perfectly without the [self presentModalViewController:img1 animated:YES]; ...
thanks
img1 = [[UIImagePickerController alloc] init];
img1.delegate = self;
img1.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
switch () {
case 0:
[self presentModalViewController:img1 animation:YES];
}
– (void)imagePickerController:didFinishPickingMediaWithInfo:(NSDictionary *)dict {
UIImage *image = [dict objectForKey:SOME_KEY_HERE];
imageView.image = [Utilities detectFace:image];
}
you need to call the detect face after you get the image, which means in the delegate method returned from UIImagePickerController
精彩评论