ios相机和图片

#import "ViewController.h"

@interface ViewController ()<UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    // Do any additional setup after loading the view, typically from a nib.
}


- (IBAction)didPictureClick:(id)sender {
//    UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件。
    UIActionSheet *myActionSheet = [[UIActionSheet alloc] initWithTitle:@"请选择" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"相机",@"相册", nil];
    [myActionSheet setActionSheetStyle:UIActionSheetStyleBlackOpaque];//设置样式
    [myActionSheet showInView:[self.view window]];
}

#pragma mark - UIActionSheetDelegate的实现
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 1) {
        @try {
            //其中,sourceType 指定了 几种 图片的来源:
            //UIImagePickerControllerSourceTypePhotoLibrary:表示显示所有的照片
            //UIImagePickerControllerSourceTypeCamera:表示从摄像头选取照片
            //UIImagePickerControllerSourceTypeSavedPhotosAlbum:表示仅仅从相册中选取照片
            //为了区分是否支持所需引用的sourceType,一般要用到下面这个函数,以便确定sourceType
            if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum]) {
                UIImagePickerController *imgPC = [[UIImagePickerController alloc] init];
                [imgPC setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
                [imgPC.navigationBar setBarStyle:UIBarStyleBlack];
                imgPC.delegate = self;
                imgPC.allowsEditing = YES;
//                imgPC
//                [self presentModalViewController:imgPC animated:YES];
                [self presentViewController:imgPC animated:YES completion:nil];
            }
            else
            {
                NSLog(@"不可用!");
            }
        }
        @catch (NSException *exception) {
            NSLog(@"不可用!");
        }
    }
    if (buttonIndex == 0) {
        @try {
            if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
                UIImagePickerController *imgPc = [[UIImagePickerController alloc] init];
                [imgPc setSourceType:UIImagePickerControllerSourceTypeCamera];
                [imgPc.navigationBar setBarStyle:UIBarStyleBlack];
                imgPc.delegate = self;
                imgPc.allowsEditing = YES;
//                [self presentModalViewController:imgPc animated:YES];
                [self presentViewController:imgPc animated:YES completion:nil];
            }
            else
            {
                NSLog(@"相机不可用!");
            }
        }
        @catch (NSException *exception) {
            NSLog(@"相机不可用!");
        }
    }
}

#pragma mark - UIImagePickerControllerDelegate的实现
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [picker dismissViewControllerAnimated:YES completion:nil];
    UIImage *image = info[UIImagePickerControllerEditedImage];//获得编辑过的图片
    if (!image) {
        image = info[UIImagePickerControllerOriginalImage];//如果是 来自照相机的image,那么先保存
    }
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值