Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios如何在Xcode中创建简单的摄像头覆盖?_Ios_Xcode_Camera - Fatal编程技术网

Ios如何在Xcode中创建简单的摄像头覆盖?

Ios如何在Xcode中创建简单的摄像头覆盖?,ios,xcode,camera,Ios,Xcode,Camera,正如标题所说,我需要在使用UIImagePickerController拍照时创建一个非常简单的相机覆盖。我想在相机上添加一个非常简单的.png文件(就像一个空盒子),但我不知道怎么做 我已经查看了这个网页上的大部分教程,但大部分都不懂。对我来说,这似乎很难,向相机覆盖图添加一个简单的.png文件应该比这更容易 (IBAction) getPhoto:(id) sender { UIImagePickerController * picker = [[UIImagePickerContr

正如标题所说,我需要在使用
UIImagePickerController
拍照时创建一个非常简单的相机覆盖。我想在相机上添加一个非常简单的
.png
文件(就像一个空盒子),但我不知道怎么做

我已经查看了这个网页上的大部分教程,但大部分都不懂。对我来说,这似乎很难,向相机覆盖图添加一个简单的
.png
文件应该比这更容易

(IBAction) getPhoto:(id) sender {
    UIImagePickerController * picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    if((UIButton *) sender == choosePhotoBtn) {
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    } else {

    }

    label1.text =@"PHOTO ACTION";

    [self presentModalViewController:picker animated:YES];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
    imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}

我应该在哪里实现覆盖代码?我应该使用哪些类以及如何使用这些类?

UIImagePickerController有一个名为
cameraOverlayView
的属性。它是一个
UIView*
,因此您需要创建一个,并将PNG放在它的背景中,然后将其分配给
选择器的此属性

好的,下面是代码(我没有这样测试)


当然,您可以使用一些自定义的
UIView*
子类,而不是创建标准的
UIView*overlayView
,但其他所有内容都将保持不变。

以及如何实现我的意思是,我应该在哪里实现摄影机覆盖视图代码?这是您的帧=我创建的名为cameraovarlayview的viewcontroller?你的代码显示picker去了哪里?看看这个例子,它太复杂了,我只想在屏幕中间显示一个简单的PNG,比如太阳,链接,而不是其他按钮。什么意思?您不需要创建任何其他内容。最可能的情况是,将其设置为
picker.view.frame
picker.frame如何设置?顺便说一句,谢谢你迄今为止的回答。一个打字错误。确实是
picker.view.frame
。您不需要再创建任何类。
(IBAction) getPhoto:(id) sender 
{
    UIImagePickerController * picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    // creating overlayView
    UIView* overlayView = [[UIView alloc] initWithFrame:picker.view.frame];
    // letting png transparency be
    overlayView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourimagename.png"]];
    [overlayView.layer setOpaque:NO];
    overlayView.opaque = NO;

    picker.showsCameraControls = NO;
    picker.cameraOverlayView = overlayView;

    if((UIButton *) sender == choosePhotoBtn) 
    {
         if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
         {
             [picker setSourceType:UIImagePickerControllerSourceTypeCamera];
         } else {
             //do something if the device has no camera or if the camera is disabled in settings (it cannot be assumed that the camera is available/not broken)
         }
    } else {

    }

    label1.text =@"PHOTO ACTION";

    [self presentModalViewController:picker animated:YES];
}