-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathZMImagePickerControllerBlock.m
executable file
·77 lines (65 loc) · 2.12 KB
/
ZMImagePickerControllerBlock.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// ZMImagePickerControllerBlock.m
// ImagePickerSource
//
// Created by Maveriks on 13-12-9.
// Copyright (c) 2013年 Maveriks. All rights reserved.
//
#import "ZMImagePickerControllerBlock.h"
@interface ZMImagePickerControllerBlock ()<UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@end
@implementation ZMImagePickerControllerBlock
- (void)dealloc
{
NSLog(@"ZMImagePickerControllerBlock dealloc");
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)showWithModalViewController:(UIViewController *)modalViewController
animated:(BOOL)animated
selectedHandler:(ZMImagePickerControllerSelectImageHandler) slectedHandler
cancel:(ZMImagePickerControllerCancelBlock) cancelBlock
{
self.delegate = self;
self.selectedHandler = slectedHandler;
self.cancelBlock = cancelBlock;
[modalViewController presentModalViewController:self animated:animated];
}
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(ZMImagePickerControllerBlock *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *editedImage = (UIImage *)[info valueForKey:UIImagePickerControllerEditedImage];
if(!editedImage)
editedImage = (UIImage *)[info valueForKey:UIImagePickerControllerOriginalImage];
BOOL dismiss = YES;
if (self.selectedHandler) {
self.selectedHandler(editedImage,info,&dismiss);
}
if (dismiss) {
[picker dismissModalViewControllerAnimated:YES];
}
}
- (void)imagePickerControllerDidCancel:(ZMImagePickerControllerBlock *)picker
{
if (picker.cancelBlock) {
picker.cancelBlock();
}
[picker dismissModalViewControllerAnimated:YES];
}
@end