ios - Make a UIView display the camera view using UIImagePickerController -
i'm trying display image camera sees own custom view. not want use apple's own overlay property uiimagepickercontroller: cameraoverlayview.
i don't want overlay, display in particular view. way i've been able creating subview in uiview, doing doesn't allow me use of own custom buttons i've made on uiview . code far is:
uiimagepickercontroller *imagepickercontroller = [[uiimagepickercontroller alloc] init]; [imagepickercontroller setsourcetype:uiimagepickercontrollersourcetypecamera]; [imagepickercontroller setshowscameracontrols:no]; [imagepickercontroller setediting:no]; [imagepickercontroller setnavigationbarhidden:yes]; [self.videopreviewview addsubview:[imagepickercontroller view]]; [imagepickercontroller viewwillappear:yes]; where videopreviewview outlet uiview!
any suggestions? thanks!
i have not tried way myself, wanted create custom camera view. might not looking for, alternative. created custom uiview .xib file.
in .m file call appropriate delegate methods viewcontroller instantiated imagepicker. in viewcontroller call appropriate methods takepicture.
this way can make overlay way xib file. can instantiate image picker
falkcameraview.h : @protocol cameraviewdelegate <nsobject> - (void)camerapressed; - (void)buttonpressed; //etc @end @interface falkcameraview : uiview @property (nonatomic, assign) nsobject<cameraviewdelegate> *delegate; //camera button pressed- notifies cameraviewdelegate - (ibaction)camerapressed:(id)sender; //button pressed - notifies cameraviewdelegate -(ibaction)buttonpressed:(id)sender; @end falkcameraview.m: @implementation falkcameraview @synthesize delegate; - (ibaction)camerapressed:(id)sender{ [delegate camerapressed]; } -(ibaction)buttonnpressed:(id)sender{ [delegate buttonpressed]; } @end falkcameraviewcontroller.h: @interface falkcameraviewcontroller : uiviewcontroller <uiimagepickercontrollerdelegate, cameraviewdelegate> - (void)camerapressed; - (void)buttonpressed; @end falkcameraviewcontroller.m: @interface falkcameraviewcontroller @property (strong,nonatomic) uiimagepickercontroller *imagepicker; @end @implementation falkcameraviewcontroller @synthesise imagepicker; -(void)setupcamera{ if ([uiimagepickercontroller issourcetypeavailable: uiimagepickercontrollersourcetypecamera]){ imagepicker = [[uiimagepickercontroller alloc] init]; imagepicker.delegate = self; imagepicker.sourcetype = uiimagepickercontrollersourcetypecamera; imagepicker.showscameracontrols = no; imagepicker.allowsediting = no; imagepicker.mediatypes = @[(nsstring *) kuttypeimage]; nsstring *nibname = @"falkcameraview"; nsarray *nibs = [[nsbundle mainbundle] loadnibnamed:nibname owner:nil options:nil]; if([nibs count]){ id nib = [nibs objectatindex:0]; if([nib iskindofclass:[falkcameraview class]]){ falkcameraview *view = (falkcameraview*)nib; view.delegate = self; imagepicker.cameraoverlayview = view; } } [self presentviewcontroller:imagepicker animated:no completion:nil]; } } -(void)camerapressed:(id)sender{ [imagepicker takepicture]; } @end
Comments
Post a Comment