ios - How to use the allowsEditing -


i want user take photo in app→crop→save. want use allowsediting property of uiimagepickercontrol. don't know how can it. code until camera.

-(ibaction)takephoto {     picker = [[uiimagepickercontroller alloc]init];     picker.delegate = self;     [picker setsourcetype:uiimagepickercontrollersourcetypecamera];     [self presentviewcontroller:picker animated:yes completion:null];  } 

use pick photo camera

- (ibaction)takephoto:(uibutton *)sender {  uiimagepickercontroller *picker = [[uiimagepickercontroller alloc] init]; picker.delegate = self; picker.allowsediting = yes; picker.sourcetype = uiimagepickercontrollersourcetypecamera;  [self presentviewcontroller:picker animated:yes completion:null];    } 

use pick photo photo library

- (ibaction)selectphoto:(uibutton *)sender {  uiimagepickercontroller *picker = [[uiimagepickercontroller alloc] init]; picker.delegate = self; picker.allowsediting = yes; picker.sourcetype = uiimagepickercontrollersourcetypephotolibrary;  [self presentviewcontroller:picker animated:yes completion:null]; 

}

use following 2 delegate methods

- (void)imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary *)info {  uiimage *chosenimage = info[uiimagepickercontrollereditedimage]; self.imageview.image = chosenimage;  [picker dismissviewcontrolleranimated:yes completion:null]; 

}

- (void)imagepickercontrollerdidcancel:(uiimagepickercontroller *)picker {  [picker dismissviewcontrolleranimated:yes completion:null]; 

}

add in viewdidload method, if device not support camera display alert message.

if (![uiimagepickercontroller issourcetypeavailable:uiimagepickercontrollersourcetypecamera]) {      uialertview *myalertview = [[uialertview alloc] initwithtitle:@"error"                                                     message:@"device has no camera"                                                     delegate:nil                                                     cancelbuttontitle:@"ok"                                                     otherbuttontitles: nil];      [myalertview show];  } 

add both protocols appviewcontroller.h file:

@interface appviewcontroller : uiviewcontroller <uiimagepickercontrollerdelegate, uinavigationcontrollerdelegate> 

Comments