我将PhotoEditPreviewController
置于自定义视图的顶部,该视图通过设置透明图像进行初始化。用于文本编辑的SpriteEditController
中有PhotoEditPreviewController
。在视图的Hierarchy结构中,我可以看到有一个GLKView
在iPhone 6和6s中显示透明,但在iPhone 7,8和10(X)上采用黑色背景颜色。我需要GLKView
透明我尝试从视图中获取此GLView并设置其图层和背景颜色。但似乎没有什么能在这些设备上运行。
答案 0 :(得分:0)
您必须使用PhotoEditPreviewController
' s delegate
来设置背景颜色。这样的事情应该这样做:
photoEditPreviewController.delegate = self
然后
extension ViewController: PhotoEditPreviewControllerDelegate {
func photoEditPreviewControllerResetProxyZooming(_ photoEditPreviewController: PhotoEditPreviewController) {
}
func photoEditPreviewControllerPreviewEnabled(_ photoEditPreviewController: PhotoEditPreviewController) -> Bool {
return true
}
func photoEditPreviewControllerDidChangePhotoEditModel(_ photoEditPreviewController: PhotoEditPreviewController) {
}
func photoEditPreviewControllerPreviewScale(_ photoEditPreviewController: PhotoEditPreviewController) -> CGFloat {
return 1
}
func photoEditPreviewControllerBackgroundColor(_ photoEditPreviewController: PhotoEditPreviewController) -> UIColor {
// Return the desired background color here.
return .clear
}
func photoEditPreviewControllerProxyZoomingActive(_ photoEditPreviewController: PhotoEditPreviewController) -> Bool {
return false
}
func photoEditPreviewControllerPreviewInsets(_ photoEditPreviewController: PhotoEditPreviewController) -> UIEdgeInsets {
return .zero
}
func photoEditPreviewControllerRenderMode(_ photoEditPreviewController: PhotoEditPreviewController) -> PESDKRenderMode {
return .all
}
}