给相机cameraOverlayView上面覆盖一个UIView 然后自定义UIView相机页面
_controller.delegate = self;_controller.showsCameraControls = NO; //不显示系统的拍照按钮_controller.cameraOverlayView = imagePickerOverlayController.view; //自定义的视图控制器,用来处理拍照的动作,把这个视图贴上去。这样就可以在imagePickerOverlayController内部处理拍照的流程了。在overlay的视图上添加一个tool bar,放上按钮,链接对应的函数。- (IBAction)MyTakePhotoAction: (id)sender{ //lz要的获取方向的动作 [imagePicker takePicture]; //调用image Picker的take photo 方法}
-(UIView *)findView:(UIView *)aView withName:(NSString *)name{
Class cl = [aView class];
NSString *desc = [cl description];
if ([name isEqualToString:desc])
return aView;
for (NSUInteger i = 0; i < [aView.subviews count]; i++)
{
UIView *subView = [aView.subviews objectAtIndex:i];
subView = [self findView:subView withName:name];
if (subView)
return subView;
}
return nil;
}
-(void)addSomeElements:(UIViewController *)viewController{
UIView *PLCameraView=[self findView:viewController.view withName:@"PLCameraView"];
UIView *bottomBar=[self findView:PLCameraView withName:@"PLCropOverlayBottomBar"];
UIImageView *bottomBarImageForSave = [bottomBar.subviews objectAtIndex:0];
UIButton *retakeButton=[bottomBarImageForSave.subviews objectAtIndex:0];
[retakeButton setTitle:@"重拍" forState:UIControlStateNormal]; //左下角按钮
UIButton *useButton=[bottomBarImageForSave.subviews objectAtIndex:1];
[useButton setTitle:@"上传" forState:UIControlStateNormal]; //右下角按钮
}
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController*)viewController animated:(BOOL)animated{
[self addSomeElements:viewController];
}