iOS访问相册和相机
2015-12-20 20:11
330 查看
pragma mark — 第一步:声明三个属性
@property (nonatomic, strong) UIImageView *imageView;@property (nonatomic, strong) UIButton *photo;
@property (nonatomic, strong) UIButton *camera;
pragma mark — 第二步:初始化界面
// 创建imageView来显示选取的图片 self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 300, 300)]; self.imageView.layer.masksToBounds = YES; self.imageView.backgroundColor = [UIColor orangeColor]; self.imageView.layer.cornerRadius = 20; self.imageView.layer.borderWidth = 2; [self addSubview:self.imageView]; // 创建photoButton来从相册中获取图片 self.photo = [UIButton buttonWithType:UIButtonTypeRoundedRect]; self.photo.frame = CGRectMake(50, 400, 100, 100); [self.photo setBackgroundImage:[UIImage imageNamed:@"photo"] forState:UIControlStateNormal]; self.photo.layer.masksToBounds = YES; self.photo.layer.cornerRadius = 50; self.photo.layer.borderWidth = 3; self.photo.layer.borderColor = [UIColor whiteColor].CGColor; [self addSubview:self.photo]; // 创建cameraButton来调用相机拍照获取图片 self.camera = [UIButton buttonWithType:UIButtonTypeRoundedRect]; self.camera.frame = CGRectMake(250, 400, 100, 100); [self.camera setBackgroundImage:[UIImage imageNamed:@"camera"] forState:UIControlStateNormal]; self.camera.layer.masksToBounds = YES; self.camera.layer.cornerRadius = 50; self.camera.layer.borderWidth = 3; self.camera.layer.borderColor = [UIColor grayColor].CGColor; [self addSubview:self.camera];
}
pragma mark — 第三步:遵循代理协议
@interface RootViewController ()pragma mark — 第四步:声明图片选取器属性
@property (nonatomic, strong) UIImagePickerController *picker;@end
@implementation RootViewController
- (void) loadView {
[super loadView];
self.rv = [[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = self.rv;
}
- (void)viewDidLoad {
[super viewDidLoad];
pragma mark — 第五步:初始化选取器并设置代理
self.picker = [[UIImagePickerController alloc] init]; self.picker.delegate = self;
pragma mark — 第七步:添加响应事件
[self.rv.photo addTarget:self action:@selector(photoAction) forControlEvents:UIControlEventTouchUpInside]; [self.rv.camera addTarget:self action:@selector(cameraAction) forControlEvents:UIControlEventTouchUpInside];
}
pragma mark — 第八步:实现响应事件
// 从相册中选取- (void)photoAction {
self.picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; self.picker.allowsEditing = NO; [self presentViewController:self.picker animated:YES completion:nil];
}
// 调用相机拍照获取
- (void)cameraAction {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera; [self presentViewController:self.picker animated:YES completion:nil]; } else { UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Caution" message:@"Do not find camera, please select from photo!" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]; [alert addAction:okAction]; [self presentViewController:alert animated:YES completion:nil]; }
}
pragma mark — 第六步:实现协议中的方法
// 已经完成选取图片时执行- (void)imagePickerController:(UIImagePickerController )picker didFinishPickingMediaWithInfo:(NSDictionary
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- JS 相册效果 自动播放[本地整合]
- jquery实现相册一下滑动两次的方法
- 用dom+xhtml+css制作的一个相册效果代码打包下载
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- jQuery实现带滚动导航效果的全屏滚动相册实例
- .net平台推送ios消息的实现方法
- js+css实现上下翻页相册代码分享
- 探讨Android与iOS,我们将何去何从?
- android照相、相册获取图片剪裁报错的解决方法