iOS Learning Note--uiimagepickercontroller Access albums
Last Update:2016-06-05
Source: Internet
Author: User
<span id="Label3"></p><p><p>If we just want to access the album, the work we do is very simple.</p></p><p><p>1. Uiimagepickercontroller Initialization</p></p><p><p>Uiimagepickercontroller * Picker = [[uiimagepickercontroller alloc]init];</p></p><p><p>2. Setting Properties</p></p><p><p>1) SourceType attribute: The source of the data, there are three kinds of sources:</p></p><p><p>enum {<br>Uiimagepickercontrollersourcetypephotolibrary,//gallery<br>Uiimagepickercontrollersourcetypecamera,//camera<br>Uiimagepickercontrollersourcetypesavedphotosalbum//albums<br>};<br>typedef Nsuinteger uiimagepickercontrollersourcetype;</p></p><p><p>2) allowsediting property: whether to allow clipping</p></p><p><p>3) Set proxy Deleage</p></p><p><p>3. Display Uiimagepickercontroller</p></p><p><p>[self PresentViewController:self.pickerController Animated:yes completion:nil];</p></p><p><p>4. Implement Agent function</p></p><p><p>-(void) imagepickercontroller: (uiimagepickercontroller *) Picker didfinishpickingmediawithinfo: (NSDictionary< NSString *,id> *) Info</p></p><p><p>-(void) imagepickercontrollerdidcancel: (uiimagepickercontroller *) Picker</p></p><p><p>If we implement the Imagepickercontrollerdidcancel function, then we fail when we click the Cancel button, so we're going to call it in this Function.</p></p><p><p>[picker Dismissviewcontrolleranimated:yes completion:nil];</p></p><p><p></p></p><p><p>View album pictures, and change the picture simple implementation:</p></p><pre><span style="color: #008080;"><span style="color: #008080;">1</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">#import</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">ViewController.h</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #008080;"><span style="color: #008080;">2</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">#import</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">SJZViewController.h</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #008080;"><span style="color: #008080;">3</span></span> <span style="color: #008080;"><span style="color: #008080;">4</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">@interface</span></span>Viewcontroller () <uiimagepickercontrollerdelegate, uinavigationcontrollerdelegate, UIActionSheetDelegate><span style="color: #008080;"><span style="color: #008080;">5</span></span> <span style="color: #008080;"><span style="color: #008080;">6</span></span>@property (nonatomic, Strong) UIImage *<span style="color: #000000;"><span style="color: #000000;">image;</span></span><span style="color: #008080;"><span style="color: #008080;">7</span></span>@property (nonatomic, Strong) Uiimageview *<span style="color: #000000;"><span style="color: #000000;">imageView;</span></span><span style="color: #008080;"><span style="color: #008080;">8</span></span>@property (nonatomic, Strong) Uiimagepickercontroller *<span style="color: #000000;"><span style="color: #000000;">pickercontroller;</span></span><span style="color: #008080;"><span style="color: #008080;">9</span></span> <span style="color: #008080;"><span style="color: #008080;">Ten</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">@end</span></span><span style="color: #008080;"><span style="color: #008080;"></span> one</span> <span style="color: #008080;"><span style="color: #008080;"></span> a</span> <span style="color: #0000ff;"><span style="color: #0000ff;">@implementation</span></span><span style="color: #000000;"><span style="color: #000000;">Viewcontroller</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">) Viewdidload {</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">[super viewdidload];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>Self.title =<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Select Picture</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>UIImage * image = [UIImage imagenamed:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">saveimage.jpg</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span>Self.image =<span style="color: #000000;"><span style="color: #000000;">image;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> +</span>Uiimageview * ImageView = [[uiimageview alloc] initwithframe:cgrectmake (<span style="color: #800080;"><span style="color: #800080;">0</span></span>,<span style="color: #800080;"><span style="color: #800080;">0</span></span>, self.view.frame.size.width, self.view.frame.size.height/<span style="color: #800080;"><span style="color: #800080;">2</span></span><span style="color: #000000;"><span style="color: #000000;">)];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> a</span>Imageview.center =<span style="color: #000000;"><span style="color: #000000;">self.view.center;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> at</span>Imageview.image =<span style="color: #000000;"><span style="color: #000000;">image;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>Self.imageview =<span style="color: #000000;"><span style="color: #000000;">imageView;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[self.view addsubview:imageview];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[self createbutton];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;"></span> in</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">) Createbutton</span></span><span style="color: #008080;"><span style="color: #008080;"></span> to</span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span>UIButton * button = [[UIButton alloc] initwithframe:cgrectmake (<span style="color: #800080;"><span style="color: #800080;"></span> +</span>, Self.view.frame.size.height *<span style="color: #800080;"><span style="color: #800080;">7</span></span>/<span style="color: #800080;"><span style="color: #800080;">8</span></span>, self.view.frame.size.width-<span style="color: #800080;"><span style="color: #800080;"></span> the</span>,<span style="color: #800080;"><span style="color: #800080;"></span> +</span><span style="color: #000000;"><span style="color: #000000;">)];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>Button.backgroundcolor =<span style="color: #000000;"><span style="color: #000000;">[uicolor whitecolor];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>[button settitle:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">pick a picture from an album</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">forstate:uicontrolstatenormal];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> *</span> <span style="color: #000000;"><span style="color: #000000;">[button settitlecolor:[uicolor blackcolor] forstate:uicontrolstatenormal];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span>Button.layer.cornerRadius =<span style="color: #800080;"><span style="color: #800080;">4.0</span></span><span style="color: #000000;"><span style="color: #000000;">;</span></span><span style="color: #008080;"><span style="color: #008080;">Panax Notoginseng</span></span> <span style="color: #000000;"><span style="color: #000000;">[button addtarget:self action: @selector (buttonclick) forcontrolevents:uicontroleventtouchupinside];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[self.view addsubview:button];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span> <span style="color: #008080;"><span style="color: #008080;"></span> a</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Create Uiimagepickercontroller object, lazy load</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>-(uiimagepickercontroller *<span style="color: #000000;"><span style="color: #000000;">) Pickercontroller</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(!<span style="color: #000000;"><span style="color: #000000;">_pickercontroller) {</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Create a Uiimagepickercontroller object</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span>Uiimagepickercontrollersourcetype sourcetype =<span style="color: #000000;"><span style="color: #000000;">uiimagepickercontrollersourcetypesavedphotosalbum;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>Uiimagepickercontroller * Picker =<span style="color: #000000;"><span style="color: #000000;">[[uiimagepickercontroller alloc]init];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>Picker.<span style="color: #0000ff;"><span style="color: #0000ff;">Delegate</span></span>=<span style="color: #000000;">self <span style="color: #000000;">;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span>Picker.allowsediting =<span style="color: #000000;"><span style="color: #000000;">YES;</span></span><span style="color: #008080;"><span style="color: #008080;">Wuyi</span></span>Picker.sourcetype =<span style="color: #000000;"><span style="color: #000000;">sourcetype;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>_pickercontroller =<span style="color: #000000;"><span style="color: #000000;">picker;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> wu</span> <span style="color: #000000;"><span style="color: #000000;"> }</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> about</span> <span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">_pickercontroller;</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span><span style="color: #000000;"><span style="color: #000000;">) ButtonClick</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> a</span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>([[uidevice currentdevice].systemversion doublevalue] >=<span style="color: #800080;"><span style="color: #800080;">8.0</span></span><span style="color: #000000;"><span style="color: #000000;">){</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span>Uialertcontroller * Alert =<span style="color: #000000;"><span style="color: #000000;">[uialertcontroller Alertcontrollerwithtitle:nil Message:nil preferredstyle:uialertcontrollerstyleactionsheet ];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Camera</span></span><span style="color: #008080;"><span style="color: #008080;"></span> $</span>Uialertaction * action = [uialertaction actionwithtitle:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Camera</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Style:uialertactionstyledefault handler:^ (uialertaction *<span style="color: #000000;"><span style="color: #000000;">_nonnull Action) {</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">not implemented, implementation of the next phase</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;"> }];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>[action Setvalue:[uicolor blackcolor] forkey:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">_titletextcolor</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[alert addaction:action];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> in</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Access Albums</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>Uialertaction * photoaction = [uialertaction actionwithtitle:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Select from album</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Style:uialertactionstyledefault handler:^ (uialertaction *<span style="color: #000000;"><span style="color: #000000;">_nonnull Action) {</span></span><span style="color: #008080;"><span style="color: #008080;"></span> about</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">[self presentViewController:self.pickerController animated:yes completion:nil];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;"> }];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>[photoaction Setvalue:[uicolor blackcolor] forkey:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">_titletextcolor</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> +</span> <span style="color: #000000;"><span style="color: #000000;">[alert addaction:photoaction];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span>Uialertaction * cancleaction = [uialertaction actionwithtitle:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Cancel</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Style:uialertactionstylecancel handler:^ (uialertaction *<span style="color: #000000;"><span style="color: #000000;">_nonnull Action) {</span></span><span style="color: #008080;"><span style="color: #008080;">Bayi</span></span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;"> }];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>[cancleaction Setvalue:[uicolor redcolor] forkey:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">_titletextcolor</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[alert addaction:cancleaction];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">[self presentviewcontroller:alert animated:yes completion:nil];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>}<span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>Uiactionsheet * sheet = [[uiactionsheet alloc] initwithtitle:nil<span style="color: #0000ff;"><span style="color: #0000ff;">Delegate</span></span>: Self cancelbuttontitle:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Cancel</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Destructivebuttontitle:nil otherbuttontitles:<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Camera</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>,<span style="color: #800000;"><span style="color: #800000;">@"</span></span><span style="color: #800000;"><span style="color: #800000;">Select from album</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">, nil];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;">[sheet showInView:self.view];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;"> }</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;">94</span></span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>) Actionsheet: (uiactionsheet *<span style="color: #000000;"><span style="color: #000000;">) actionsheet clickedbuttonatindex: (nsinteger) buttonindex</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(buttonindex = =<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">){</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;">98</span></span>}<span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(buttonindex = =<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">){</span></span><span style="color: #008080;"><span style="color: #008080;"></span> about</span> <span style="color: #000000;"><span style="color: #000000;">[self presentViewController:self.pickerController animated:yes completion:nil];</span></span><span style="color: #008080;"><span style="color: #008080;"></span> -</span> <span style="color: #000000;"><span style="color: #000000;"> }</span></span><span style="color: #008080;"><span style="color: #008080;">101</span></span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;">102</span></span> <span style="color: #008080;"><span style="color: #008080;">103</span></span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>) imagepickercontroller: (uiimagepickercontroller *) Picker didfinishpickingmediawithinfo: (NSDictionary<NSString *,<span style="color: #0000ff;"><span style="color: #0000ff;">ID</span></span>> *<span style="color: #000000;"><span style="color: #000000;">) Info</span></span><span style="color: #008080;"><span style="color: #008080;">104</span></span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span>Self.imageView.image =<span style="color: #000000;"><span style="color: #000000;">[info objectforkey:uiimagepickercontrolleroriginalimage];</span></span><span style="color: #008080;"><span style="color: #008080;">106</span></span> <span style="color: #008080;"><span style="color: #008080;">107</span></span> <span style="color: #000000;"><span style="color: #000000;">[picker Dismissviewcontrolleranimated:yes completion:nil];</span></span><span style="color: #008080;"><span style="color: #008080;">108</span></span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;">109</span></span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span>- (<span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>) Imagepickercontrollerdidcancel: (uiimagepickercontroller *<span style="color: #000000;"><span style="color: #000000;">) Picker</span></span><span style="color: #008080;"><span style="color: #008080;">111</span></span> <span style="color: #000000;"><span style="color: #000000;">{</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #000000;"><span style="color: #000000;">[picker Dismissviewcontrolleranimated:yes completion:nil];</span></span><span style="color: #008080;"><span style="color: #008080;">113</span></span> <span style="color: #000000;"><span style="color: #000000;">}</span></span><span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #008080;"><span style="color: #008080;"></span> the</span> <span style="color: #0000ff;"><span style="color: #0000ff;">@end</span></span></pre><p><p></p></p><p><p><br>Show Results:</p></p><p><p></p></p><p><p>The part about the camera, the next article will be implemented ....</p></p><p><p></p></p><p><p>iOS Learning Note--uiimagepickercontroller Access albums</p></p></span>