ios - iPhone Camera App - how to stay in Camera view? -
i've implemented camera inside of app default showscameracontrols = yes, , issue having when user confirms image keeper, dismisses camera [self.delegate didfinishwithcamera]. remain in camera view until user done taking photos. without [self.delegate didfinishwithcamera], app hangs after user confirms want keep photo , never returns live camera feed. how remain in camera view? appreciated!
@implementation phfphotooverlayvc - (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil { self = [super initwithnibname:nibnameornil bundle:nibbundleornil]; if (self) { self.imagepickercontroller = [[uiimagepickercontroller alloc] init]; self.imagepickercontroller.delegate = self; } return self; } - (void)setupimagepicker:(uiimagepickercontrollersourcetype)sourcetype { self.imagepickercontroller.sourcetype = sourcetype; if (sourcetype == uiimagepickercontrollersourcetypecamera) { self.imagepickercontroller.mediatypes = [nsarray arraywithobjects:(nsstring *) kuttypeimage, nil]; self.imagepickercontroller.showscameracontrols = yes; #if false if ([[self.imagepickercontroller.cameraoverlayview subviews] count] == 0) { cgrect overlayviewframe = self.imagepickercontroller.cameraoverlayview.frame; cgrect newframe = cgrectmake(0.0, cgrectgetheight(overlayviewframe) - self.view.frame.size.height - 10.0, cgrectgetwidth(overlayviewframe), self.view.frame.size.height + 10.0); self.view.frame = newframe; [self.imagepickercontroller.cameraoverlayview addsubview:self.view]; } #endif } } #pragma mark - #pragma mark uiimagepickercontrollerdelegate - (void) imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary *)info { self.imagepickercontroller.mediatypes = [nsarray arraywithobjects:(nsstring *) kuttypeimage, nil]; self.imagepickercontroller.showscameracontrols = yes; uiimage *image = [info valueforkey:uiimagepickercontrolleroriginalimage]; if (self.delegate) [self.delegate didtakepicture:image]; [self.delegate didfinishwithcamera]; } - (void)imagepickercontrollerdidcancel:(uiimagepickercontroller *)picker { [self.delegate didfinishwithcamera]; } @end
in order achieve this, have implement own method taking picture, since default button causes view dismiss itself.
obviously, can setting showscameracontrols=no, you'd have recreate other functionality still want.
i've never done this, should possible leave showscameracontrols=yes , use cameraoverlayview layer identical "take picture" button on existing one. if that, need have button call method -takepicture instance of uiimagepickerviewcontroller.
hopefully that's enough, feel free comment , ask clarification.
Comments
Post a Comment