- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我有一个使用 UIImagePickerController
拍照的应用程序。问题是我只希望相机选项可用,而且我知道我需要隐藏标准控件:
cameraUI.showsCameraControls=NO;
并使用 cameraOverlayView
提供我自己的控件。我已经看过 Apple 的 PhotoPicker
项目,我最初的问题是如何将 Overlay
对象放到 Storyboard上?我在图书馆找不到这样的对象。
最佳答案
代码如下:
toolBar=[[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-54, self.view.frame.size.width, 55)];
toolBar.barStyle = UIBarStyleBlackOpaque;
NSArray *items=[NSArray arrayWithObjects:
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelPicture)],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(shootPicture)],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
nil];
[toolBar setItems:items];
// create the overlay view
overlayView = [[OverlayView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-44)];
// important - it needs to be transparent so the camera preview shows through!
overlayView.opaque=NO;
overlayView.backgroundColor=[UIColor clearColor];
// parent view for our overlay
UIView *cameraView=[[UIView alloc] initWithFrame:self.view.bounds];
[cameraView addSubview:overlayView];
[cameraView addSubview:toolBar];
imagePickerController = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO){
NSLog(@"Camera not available");
return;
}
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.delegate = self;
// hide the camera controls
imagePickerController.showsCameraControls=NO;
imagePickerController.wantsFullScreenLayout = YES;
[imagePickerController setCameraOverlayView:cameraView];
[self presentViewController:imagePickerController animated:YES completion:nil];
在头文件中声明:
UIImagePickerController * imagePickerController;
UIToolbar *toolBar;
OverlayView *overlayView;
从 Apples PhotoPicker 添加这个 OverlayView.h 和 .m 类。
使用自定义相机按钮拍摄照片的操作:
-(void) shootPicture {
[imagePickerController takePicture];
}
- (IBAction)cancelPicture {
[self dismissViewControllerAnimated:YES completion:nil];
}
输出将如下图所示(我在自定义叠加 View 中添加了捕获按钮和取消按钮):
快乐编码:)
关于ios - 将 cameraOverlayView 与 UIImagePickerController 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20590346/
我有以下 cameraOverlayView 在一定程度上工作。当调用 UIImagePickerController 时,标准控件不会显示,'Take Photo' 按钮和 logo.jpg 如 中
我真的很难理解如何做到这一点。我有一个 UIImagePickerController 可以正常工作,但我想创建自己的 CameraOverlayView 以便我可以自定义按钮。我似乎无法弄清楚如何首
我正在用 Swift 制作一个自定义相机。我这样声明它是全局的: let image = UIImagePickerController() 我在 IB 中制作了 OverlayVC (UIViewC
我有一个透明 View ,上面使用 CoreGraphics 绘制了一个矩形。当相机启动时,自定义叠加 View 位于快门动画上方。您看到的是标准相机快门,上面有自定义矩形。我如何让它在正确的位置,在
我正在创建的 iPad 应用程序中使用 zBAR QR 阅读器,并且我已将自定义十字准线覆盖添加到 ZBarReaderViewController .我已经设法将覆盖层置于中心,但是当设备旋转时,覆
我有一个 UIImagePickerController 和一个 cameraOverlayView,但是当用户拍照时,cameraOverlay View 会保留在“预览/使用照片/重拍照片 Vie
我正在努力解决一个问题。我正在捕获视频,并且我在其中放置了一个带有 UIImage 的 UIImageView 作为 UIImagePicker CameraOverLay。因此,当用户启动相机以拍摄
我想向我的 UIImagePickerController 添加一个叠加层,但我只需要它覆盖相机预览,而不是顶部或底部的相机控件。我无法在任何地方找到执行此操作的方法,因为每个设备上的顶部/底部控件高
我正在尝试使用 CameraOverLayView与 UIImagePickerController在 XCode 中使用 Storyboard。 在 Storyboard中,CameraViewCo
Ipad 上的 IOS 6 在横向模式下旋转 UIImagePickerController cameraOverlayView,但 iphone 3GS 上的 IOS 6 不会 - 谢谢 Apple
我已经搜索了一段时间,但似乎找不到一个明确的方法来做到这一点。我找到的任何链接都已过时。我正在展示这样的相机 - (void)viewDidLoad { [super viewDidLoad]
当我将 UIImagePickerController 与 cameraOverlayView 一起使用时,我能否从叠加 View 中获取唯一的选择区域? http://tinyurl.com/2fq
在拍摄后编辑照片(移动和缩放)在我的应用程序中使用此行可以正常工作: [imagePicker setAllowsEditing:YES]; 但如果我也使用 cameraOverlayView,编辑模
当您为 UIImagePickerController 实现 cameraOverlayView 时,此 View 会在您拍照时和拍照后出现,让您有机会取消或重新拍摄照片。我看到的问题是,如果您的 c
我正在尝试将 UIToolbar 添加到我的 cameraOverlayView 以获取自定义 imagePickerController。这是我要使用的代码: [self.imagePickerCo
我正致力于创建一个自定义相机叠加层并将其设置为 UIImagePickerController 的 CameraOverlayView 属性。 但是,由于我没有加入 Apple 的开发者计划,所以我无
我有一个使用 UIImagePickerController 拍照的应用程序。问题是我只希望相机选项可用,而且我知道我需要隐藏标准控件: cameraUI.showsCameraControls=NO
我在应用商店开发了一个应用程序,它在相机 (UIImagePickerController) 上使用了一个覆盖层,用户可以使用触摸手势对其进行平移和缩放。叠加 View 是 UIView 的子类,并覆
我是一名优秀的程序员,十分优秀!