【发布时间】:2023-03-24 11:01:01
【问题描述】:
我有一个带有图像视图的自定义表格视图单元格。我正在尝试将CIImage 加载到其中。当我将CIImage 加载到空白故事板上的常规图像视图中(用于测试代码)时,该代码有效,但由于某种原因,当我将图像加载到我的表格视图单元格中时,图像不会显示。
当我将常规图像从资产加载到表格单元图像视图中时,它会显示出来。所以只是CIImage 没有加载到表格视图单元格中。
这是我的表格视图单元格图像的代码。它需要一个标签,将其转换为图像,然后对其应用模糊处理。 messageLabel 是我的@IBOutlet 表格视图单元格上的标签:
func blurMessage() {
let image = UIImage.imageWithLabel(label: messageLabel)
let blurFilter = CIFilter(name: "CIGaussianBlur")
let imageToBlur = CIImage(cgImage: image.cgImage!)
blurFilter?.setValue(imageToBlur, forKey: kCIInputImageKey)
blurFilter?.setValue(4.0, forKey: kCIInputRadiusKey)
let outputImage: CIImage? = blurFilter?.outputImage
blurredImageview.image = UIImage(ciImage: outputImage!)
}
当我运行应用程序时,图像是完全空白的并且没有显示。
这是我在故事板中的单元格:
是否有原因可以正常加载常规图像视图但 CIImage 不会?即使这个确切的代码在空白故事板中工作? CIImage 不会加载到表格视图单元格中是否有原因?
我在viewDidLoad() 中调用blurMessage 并且它确实运行(当我使用常规图像进行测试时它可以工作,而不是CIImage)
【问题讨论】:
-
什么是初始化"UIImage.imageWithLabel(label: messageLabel)"?
-
您的代码几乎可以工作了,只需更改 init.你确定调用 blurMessage() 函数吗?
-
是的,我调用了 blurMessage 函数,它运行了。当我使用常规图像而不是 CIImage 时,它可以工作。只有 CIImage 在单元格中不起作用?任何想法为什么?
标签: ios swift uitableview filter uiimage