0

我有一个 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,但性能确实很慢。我不需要动态更新。

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

愚蠢的不模糊的东西grrr

4

2 回答 2

2

使用来自苹果的UIImageEffects示例

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

由于您的图像不是单元格的大小..首先通过从中绘制 UIImage 来获取在单元格中显示的临时图像.. 请参阅此处的代码 如何在不损失视网膜显示质量的情况下将 UIView 捕获到 UIImage

然后模糊该图像

于 2013-10-18T16:05:54.273 回答
1

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

于 2013-10-18T15:53:57.183 回答