在 applozic 中自定义相机叠加层

Posted

技术标签:

【中文标题】在 applozic 中自定义相机叠加层【英文标题】:Customize camera overlay in applozic 【发布时间】:2017-01-30 07:22:18 【问题描述】:

我正在使用 applozic chat sdk for ios 并成功发送图像、视频。我的要求是更改相机覆盖。当我尝试在相机上添加叠加层时,它会崩溃。

 let camaraObj : ALImagePickerController = ALImagePickerController()

 let overlay =UIView(frame: UIScreen.mainScreen().bounds)
 overlay.backgroundColor = UIColor.redColor()     
 camaraObj.cameraOverlayView = overlay

崩溃日志:libc++abi.dylib:以 NSException 类型的未捕获异常终止。

有什么帮助吗?

【问题讨论】:

请添加崩溃日志以获取更多详细信息。 libc++abi.dylib:以 NSException 类型的未捕获异常终止。除了这个,控制台上什么也没有打印出来。 【参考方案1】:

看起来您没有设置 sourceType。 ALImagePickerController 仅用于从照片发送图片。如果要用于相机,则需要显式设置源类型。

self.mImagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

我们只是尝试了同样的方法并得到了以下异常:

2017-01-30 14:30:30.954540 applozicdemo[3106:1925853] 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“源类型必须是 UIImagePickerControllerSourceTypeCamera”第一次抛出调用堆栈: (0x187A945CC 0x10016528C 0x100165214 0x100165284 0x10016521c 0x100165284 0x10016521c 0x10016521c 0x10016521c 0x10016821c 0x10016821c 0x100168284 0x100168bf2c 0x181989b18 0x1818b8048 0x1818b8048 0x1878a42fc 0x18789f034 0x180517b8 0x18089c5b8) libc++abi.dylib:以 NSException 类型的未捕获异常终止

【讨论】:

嗨 adarsh,我们尝试了这个,但是当我们在聊天附件中打开相机时,覆盖没有显示。但是是的,它忽略了崩溃。我们仍在尝试在相机上添加叠加层。 你可以试试选择器视图本身的框架吗? 您能否建议代码以及在何处添加此代码。因为我们在应用程序启动时将其添加到 AppDelegate 中。 你可以使用类似的东西: let camaraObj : ALImagePickerController = ALImagePickerController() let overlay = UIView(frame: camaraObj.view.frame) camaraObj.sourceType = UIImagePickerControllerSourceType.camera overlay.backgroundColor = UIColor.red; camaraObj.cameraOverlayView = 覆盖; self.present(camaraObj, 动画:true, 完成: nil) 从here 获取可更新代码。现在我可以根据我的要求进行自定义了。

以上是关于在 applozic 中自定义相机叠加层的主要内容,如果未能解决你的问题,请参考以下文章

需要在内置相机应用程序中显示自定义形状叠加

如何自定义相机视图并捕获叠加层中的部分?

如何为自定义相机添加 取景框|扫描框 |预览框|矩形框

如何为自定义相机添加 取景框|扫描框 |预览框|矩形框

Flutter 相机叠加层

具有自定义视图的相机