【问题标题】:How do I blur (ios7 style) a section of an image in a UITableViewCell?如何在 UITableViewCell 中模糊(ios7 样式)图像的一部分?
【发布时间】:2023-03-20 09:15:01
【问题描述】:

我有一个 UIImageView 占据整个单元格并显示图像。我想以 iOS7 样式模糊视图的底部三分之一(我们的目标是 iOS7)。模糊的部分会有一个标签。

问题似乎是我无法“截屏” UIImageView,因为我在 tableView:cellForRowAtIndexPath: 中设置单元格,因为它尚未加载。虽然我什至尝试设置一个延迟 0.1 秒的计时器,但这也不起作用。

我已经在http://damir.me/posts/ios7-blurring-techniques 上尝试过这些东西 我试过https://github.com/justinmfischer/7blur

我想使用新的截图 API drawViewHierarchyInRect:afterScreenUpdates: 我也想用苹果的示例代码 UIImage+ImageEffects

到目前为止,唯一有效的方法就是只放入一个 UIToolbar,但性能确实很慢。我不需要动态更新。

我已经设法获得了几次以下效果,但它只是为视图着色,实际上并没有模糊任何东西,所以我有点困惑。

【问题讨论】:

    标签: iphone ios cocoa-touch ios7


    【解决方案1】:

    使用来自苹果的UIImageEffects 示例

    制作一个与您想要模糊的下部大小相同的图像视图......然后将其图像设置为模糊图像。还将其内容模式设置为 UIViewContentModeBottom 以进行正确剪辑

    由于您的图像不是单元格的大小.. 首先通过从中绘制 UIImage 来获取一个临时图像,因为它正在单元格中显示.. 请参阅此处的代码 How to capture UIView to UIImage without loss of quality on retina display

    然后模糊该图像

    【讨论】:

      【解决方案2】:

      将此图像加载到 UIImage 中,模糊图像,剪辑以适合您想要的区域。使用UIImage+blur.h

      【讨论】:

      • UIImageBlur.h 是什么?
      • UIImageBlur.h这样的类
      猜你喜欢
      • 2015-06-10
      • 1970-01-01
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多