【问题标题】:CIImage doesn't load into table view cellCIImage 不会加载到表格视图单元格中
【发布时间】: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

【问题讨论】:

  • 什么是初始化"UII​​mage.imageWithLabel(label: messageLabel)"?
  • 您的代码几乎可以工作了,只需更改 init.你确定调用 blurMessage() 函数吗?
  • 是的,我调用了 blurMessage 函数,它运行了。当我使用常规图像而不是 CIImage 时,它​​可以工作。只有 CIImage 在单元格中不起作用?任何想法为什么?

标签: ios swift uitableview filter uiimage


【解决方案1】:

想通了!原来是因为我在情节提要中将标签设置为“isHidden”,当我在标签的扩展中拍摄它的图像时,它没有抓取任何东西,因为它被隐藏了!

【讨论】:

    猜你喜欢
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 2013-03-18
    相关资源
    最近更新 更多