【发布时间】:2016-02-17 12:19:47
【问题描述】:
我想将整个 UITableView 保存为 PNG 文件。
使用这段代码,我设法保存了可见部分:
UIGraphicsBeginImageContextWithOptions(tableView.layer.frame.size, false, 0.0);
tableView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let data = UIImagePNGRepresentation(image)
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
let imageURL = documentsURL.URLByAppendingPathComponent("cached.png")
data!.writeToURL(imageURL, atomically: false)
但我也想要当前未显示的可滚动部分。
有什么想法吗?
【问题讨论】:
-
如何截取屏幕上根本没有呈现的内容?不过很有趣。也许在一路截屏的同时以编程方式滚动它?粗制滥造是的,但这就是我所能提供的。
-
它有多大?你能同时把它全部加载到内存中吗?
-
我会滚动到最后一个可见单元格 + 1(如果存在)进行屏幕截图,添加到图像中,直到最后一个可见单元格 + 1 不存在为止。
-
@NSNoob,在 Android 上,您可以获得整个视图,甚至是不可见的部分。我想在 iOS 中做同样的事情
-
@Wain,是的,我可以全部加载到内存中,不会太大
标签: ios swift uitableview uiscrollview png