iOS调用系统相册和相机选择图片

来源:互联网 发布:雇一次网络水军多钱 编辑:程序博客网 时间:2024/05/16 00:44

//点击头像上传

-(void)tapAction:(UITapGestureRecognizer *)sender{

    

    

    

    UIActionSheet *sheet = [[UIActionSheetalloc] initWithTitle:nildelegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:nilotherButtonTitles:@"拍照",@"从相册选择" , nil];

    

    [sheet showInView:self.view];

}



#pragma mark - 判断设备是否有摄像头


- (BOOL) isCameraAvailable

{

    return [UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];

}

#pragma mark - UIImagePicker delegate


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

    

    

    self.avatarImage = [infoobjectForKey:UIImagePickerControllerEditedImage];

    

    self.headerImgView.image=self.avatarImage;

    

    if (self.avatarImage) {

        

        //

        

        NewNetwork *request = [[NewNetwork alloc]init];

        NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithObject:self.avatarImageforKey:@"avatar"];

        

        [request POSTuploadImage:dic];

        

        

        [request block:^(id responseObject) {

            

            NSLog(@"-------img=%@",responseObject);

            NewNetwork *request = [[NewNetwork alloc]init];

            

//            _requst_data = [[ RequestUserModel alloc]init];

//            

//            _requst_data.avatorUrl = [responseObject objectForKey:@"imageUrl"];

//            

//            NSString *string_requst  = [_requst_data ModelChangeJosn_updateAvator];

            

            

//            NSMutableDictionary *dic =[NSMutableDictionary dictionaryWithObject:string_requst forKey:@"requestInfo"];

            [request POSTRequest:dicurl:URL_USERS_updateAvator];

            [request block:^(id responseObject) {

                

                

                

                if ([[NSStringstringWithFormat:@"%@" ,[responseObjectobjectForKey: @"isSuccess" ]  ]isEqualToString: @"1" ]) {

                    

//                    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

                    

//                    [userDefaults setObject:_requst_data.avatorUrl forKey:kUSERDEFAULT_AVATORURL];

                    

                    

//                    self.MineLogoImageView.image = self.avatarImage;

                }

                //给不给提示;

                

            }];

            

            

            

        }];

        

        

    }

    else

    {

        

        

        

    }

    [picker dismissViewControllerAnimated:YEScompletion:nil];

}


-(UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize

{

    UIGraphicsBeginImageContext(CGSizeMake(image.size.width*scaleSize,image.size.height*scaleSize));

    [image drawInRect:CGRectMake(0,0, image.size.width * scaleSize, image.size.height *scaleSize)];

    UIImage *scaledImage =UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return scaledImage;

}


- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

{

    [picker dismissViewControllerAnimated:YEScompletion:^{

        

        self.avatarImage =nil;

        

        //           _Logo_imageView.image = self.avatarImage;

        

    }];

}



#pragma mark - CustomActionSheetDelegate

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

    NSLog(@"%ld", buttonIndex);

    

    UIImagePickerController *imagePicker = [[UIImagePickerControlleralloc] init];

    imagePicker.editing =YES;

    imagePicker.allowsEditing =YES;

    imagePicker.delegate =self;

    if (buttonIndex == actionSheet.cancelButtonIndex) {

        return;

    }

    switch (buttonIndex) {

        case0: {

            if ([selfisCameraAvailable])

            {

                imagePicker.sourceType =UIImagePickerControllerSourceTypeCamera;

                [selfpresentViewController:imagePickeranimated:YEScompletion:nil];

            }

            else

            {

                [SVProgressHUDshowErrorWithStatus:@"未检测到相机"];

            }

            

            break;

        }

        case1: {

            imagePicker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;

            [selfpresentViewController:imagePickeranimated:YEScompletion:nil];

            break;

        }

        default:

            return;

            

    }

}

- (void)didClickOnButtonIndex:(NSInteger *)buttonIndex

{

    UIImagePickerController *imagePicker = [[UIImagePickerControlleralloc] init];

    imagePicker.editing =YES;

    imagePicker.allowsEditing =YES;

    imagePicker.delegate =self;

    

    switch ((int)buttonIndex)

    {

        case0:

        {

            if ([selfisCameraAvailable])

            {

                imagePicker.sourceType =UIImagePickerControllerSourceTypeCamera;

                [selfpresentViewController:imagePickeranimated:YEScompletion:nil];

            }

            else

            {

                [SVProgressHUDshowErrorWithStatus:@"未检测到相机"];

            }

            break;

        }

            

        case1:

        {

            imagePicker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;

            [selfpresentViewController:imagePickeranimated:YEScompletion:nil];

            break;

        }

            

        default:

            return;

    }

}




0 0