自定义修改iPhone相机界面

时间:2022-11-12 15:03:33

  很多情况下,我们需要自定义系统的相机拍照界面, 以下示例代码可以实现定制相机界面, 具体UI自己可以加入


- (void) setup: (UIView *) aView
{
//获取相机界面的view
self.plcameraview = [aView subviewWithClass:NSClassFromString(@"PLCameraView")];
if (!plcameraview) return;

//相机原有控件全部透明
NSArray *svarray = [plcameraview subviews];
for (int i = 1; i < svarray.count; i++)[[svarray objectAtIndex:i] setAlpha:0.0f];

//加入自己的UI界面
#if 1
self.navbar = [[[UINavigationBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)] autorelease];
UINavigationItem *navItem = [[[UINavigationItem alloc] init] autorelease];
navItem.rightBarButtonItem = BARBUTTON(@"Shoot", @selector(shoot:));
navItem.leftBarButtonItem = BARBUTTON(@"Cancel", @selector(dismiss:));

[(UINavigationBar *)self.navbar pushNavigationItem:navItem animated:NO];
[plcameraview addSubview:self.navbar];
#endif
}

//启动相机
- (void) getStarted: (id) sender
{
UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:ipc animated:YES];
[self performSelector:@selector(setup:) withObject:ipc.view afterDelay:0.5f];
}