Ios 在标签后面设置背景摄影机
我已经尝试了很长时间,但无法得到它的工作,但基本上我想在我的标签和按钮后面的背景显示实时摄像机饲料。下面是我正在使用的代码,以使相机出现Ios 在标签后面设置背景摄影机,ios,objective-c,xcode,avcapturesession,viewdidload,Ios,Objective C,Xcode,Avcapturesession,Viewdidload,我已经尝试了很长时间,但无法得到它的工作,但基本上我想在我的标签和按钮后面的背景显示实时摄像机饲料。下面是我正在使用的代码,以使相机出现 - (void)viewDidLoad { [super viewDidLoad]; AVCaptureSession *session = [[AVCaptureSession alloc] init]; session.sessionPreset = AVCaptureSessionPresetHigh; AVCa
- (void)viewDidLoad {
[super viewDidLoad];
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetHigh;
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
[session addInput:input];
AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
newCaptureVideoPreviewLayer.frame = self.view.bounds;
[self.view addSublayer:newCaptureVideoPreviewLayer.view];
[self.view sendSubviewToBack:newCaptureVideoPreviewLayer.view];
[session startRunning];
}
我不知道如何将其放置在视图上的标签后面。任何帮助都将不胜感激 您只需使用
sendSubviewToBack
有关更多详细信息,请查看
发送子视图备份:
移动指定的子视图,使其显示在同级视图后面
或
您只需使用
sendSubviewToBack
有关更多详细信息,请查看
发送子视图备份:
移动指定的子视图,使其显示在同级视图后面
或
[self.view.layer sendSubviewToBack:newCaptureVideoPreviewLayer]代码>尝试在后台设置视图[self.view.layer sendSubviewToBack:newCaptureVideoPreviewLayer]代码>尝试在Background中设置视图添加此代码时,会出现一个错误,错误是“没有可见的@interface for'CALayer'声明选择器'sendSublayerToBack:'”我只是在加载的视图中实现了AVCapture会话,所以我没有在其他任何地方声明它。我没有看到“UIView”的@interface声明选择器“addSublayer:”和不兼容的指针类型将“AVCaptureVideoPreviewLayer*”发送到类型为“UIView*\u Nonnull”的参数。我还尝试在.h中连接视图文件并将其标记为cameraview,但当我运行应用程序时,它崩溃了,这是一种痛苦!我非常感谢你的帮助well@spel[self.view addSublayer:newCaptureVideoPreviewLayer.view]代码>检查我忘记添加的更新ans:newCaptureVideoPreviewLayer.view现在检查我的最新ans。添加的视图在类型为“AVCaptureVideoPreviewLayer”的对象上未找到“属性”view对于self.view's和's您做错了什么事吗?我可以看看您的完整源代码吗?当我添加此代码时,我得到一个错误,上面写着“没有可见的@interface for'CALayer'声明选择器'sendSublayerToBack:'”我只是在加载的视图中实现了AVCapture会话,所以我没有在其他任何地方声明它。我没有看到“UIView”的@interface声明选择器“addSublayer:”和不兼容的指针类型将“AVCaptureVideoPreviewLayer*”发送到类型为“UIView*\u Nonnull”的参数。我还尝试在.h中连接视图文件并将其标记为cameraview,但当我运行应用程序时,它崩溃了,这是一种痛苦!我非常感谢你的帮助well@spel[self.view addSublayer:newCaptureVideoPreviewLayer.view]代码>检查我忘记添加的更新的ans:newCaptureVideoPreviewLayer.view现在检查我的最新ans。添加的视图在类型为“AVCaptureVideoPreviewLayer”的对象上获得“属性”view“找不到”。view“您做错了什么,我可以查看完整的源代码吗?
AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
newCaptureVideoPreviewLayer.frame = self.view.bounds;
[self.view.layer addSublayer:newCaptureVideoPreviewLayer];
[session startRunning];
[[self.view superView] insertSubview:newCaptureVideoPreviewLayer belowSubview:self.view];