您的位置:首页 > 产品设计 > UI/UE

使用UIactionSheet调用系统相簿并将图片存储到缓存中

2015-06-04 16:45 330 查看
实现UIActionSheetDelegate

UIActionSheet *menu = [[UIActionSheet alloc]

                           initWithTitle: @""

                           delegate:self

                           cancelButtonTitle:@"Cancel"

                           destructiveButtonTitle:nil

                           otherButtonTitles:@"图库相册",@"拍照", nil];

    [menu showInView:self.view];

# pragma mark UIActionSheet method

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex

{

    if (buttonIndex==0) {

        [self photoalbumr];//图库相册

    

    }else if(buttonIndex==1){

         [self photocamera];//拍照

    }else if(buttonIndex==2){

    

    }

    

    [actionSheet release];

}

调用系统的相簿

实现UIImagePickerControllerDelegate

-(void)photoalbumr{

    if ([UIImagePickerController isSourceTypeAvailable:

         UIImagePickerControllerSourceTypePhotoLibrary]) {

        UIImagePickerController *picker =

        [[UIImagePickerController alloc] init];

        picker.delegate = self;

        picker.allowsImageEditing = YES;

        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

        [self presentModalViewController:picker animated:YES];

        [picker release];

    }

    else {

        UIAlertView *alert = [[UIAlertView alloc] 

                              initWithTitle:@"Error accessing photo library" 

                              message:@"Device does not support a photo library" 

                              delegate:nil 

                              cancelButtonTitle:@"Drat!" 

                              otherButtonTitles:nil];

        [alert show];

        [alert release];

        

    }

}

-(void)photocamera{

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{

        UIImagePickerController* imagepicker = [[UIImagePickerController alloc] init];

        imagepicker.delegate = self;

        imagepicker.sourceType = UIImagePickerControllerSourceTypeCamera;

        imagepicker.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

        imagepicker.allowsEditing = YES;

        [self presentModalViewController:imagepicker animated:YES];

    }

    else {

        UIAlertView *alert = [[UIAlertView alloc] 

                              initWithTitle:@"Sorry" 

                              message:@"设备不支持拍照功能" 

                              delegate:nil 

                              cancelButtonTitle:@"确定" 

                              otherButtonTitles:nil];

        [alert show];

        [alert release];

        

    }

  }

#pragma mark UIImagePicker method

- (void)imagePickerController:(UIImagePickerController *)picker 

        didFinishPickingImage:(UIImage *)image 

                  editingInfo:(NSDictionary *)editingInfo

{  

  /*将图片存储到document下

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
    NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];

    NSData *imageData = UIImagePNGRepresentation(image);

    [imageData writeToFile:savedImagePath atomically:NO];   

      _imgName=@"savedImage.png";

    self._imgFilePath=documentsDirectory;

    */

  

    [addPhoto setBackgroundImage:image forState:UIControlStateNormal];

   

     [picker dismissModalViewControllerAnimated:YES];

}

// 完成选取

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

{

    [picker dismissModalViewControllerAnimated:YES];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: