首先使用多媒体控件需要导入头文件:#import <MediaPlayer/MediaPlayer.h>
遵循这两个协议:UIImagePickerControllerDelegate,UINavigationControllerDelegate
//打开相机(图片库,或者保存的相片)
- (void)addSystemSourse:(id)sender{
//打开相机(图片库,或者保存的相片)
UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化
picker.delegate = self;
picker.allowsEditing = YES;//设置可编辑
/*
sourceType类型:
UIImagePickerControllerSourceTypePhotoLibrary 图片库
UIImagePickerControllerSourceTypeCamera 照相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum保存的相片
*/
//判断sourceType类型的类方法:[UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]
//设定sourceType为相机类型
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.sourceType = sourceType;
//然后判断相机是否可用(虚拟机,ipod)没相机,不可用将sourceType初始类型设定为相片库
if (picker.sourceType) {
//进入照相界面
}else if (picker.sourceType == UIImagePickerControllerSourceTypePhotoLibrary){
//进入图库界面
}else{
//进入保存的图片界面
}
[self presentViewController:picker animated:YES completion:^{
}];
}
实现代理方法 UIImagePickerControllerDelegate
//点击相册中的图片或照相机照完后 点击choose后的触发此方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
}
//点击cancel 调用此方法
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[self dismissViewControllerAnimated:YES completion:nil];
}