使用 scrollview 截取 ViewController
Take screenshot of ViewController with scrollview
我搜索了 SO 并尝试了很多给定的解决方案但徒劳无功,我正在开发一个应用程序,我需要在其中截屏,我有一个 UIViewController 和一个滚动视图,在滚动视图中我有一些标签,在底部屏幕上有一个按钮,当我滚动到底部时可以看到它。
当我点击屏幕底部的按钮时,我想从上到下捕捉整个屏幕,但我面临的问题是,它没有滚动到顶部,我正在只有屏幕截图中的可见区域,如下图所示:
我正在使用下面的代码,提前致谢
//Create the UIImage
UIGraphicsBeginImageContext(view.bounds.size) //view.frame.size
view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
sharedImage = image
您正在做的是截取位于 UIViewController
之上的 SuperView
的屏幕截图。您需要截取 UIScrollView
的屏幕截图,为此您需要传递 UIScrollView
的 contentSize
。
//Create the UIImage
UIGraphicsBeginImageContext(scrollView.contentSize) //Change this line only
view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
sharedImage = image
现在您将获得完整的屏幕截图UIScrollView
。
我搜索了 SO 并尝试了很多给定的解决方案但徒劳无功,我正在开发一个应用程序,我需要在其中截屏,我有一个 UIViewController 和一个滚动视图,在滚动视图中我有一些标签,在底部屏幕上有一个按钮,当我滚动到底部时可以看到它。
当我点击屏幕底部的按钮时,我想从上到下捕捉整个屏幕,但我面临的问题是,它没有滚动到顶部,我正在只有屏幕截图中的可见区域,如下图所示: 我正在使用下面的代码,提前致谢
//Create the UIImage
UIGraphicsBeginImageContext(view.bounds.size) //view.frame.size
view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
sharedImage = image
您正在做的是截取位于 UIViewController
之上的 SuperView
的屏幕截图。您需要截取 UIScrollView
的屏幕截图,为此您需要传递 UIScrollView
的 contentSize
。
//Create the UIImage
UIGraphicsBeginImageContext(scrollView.contentSize) //Change this line only
view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
sharedImage = image
现在您将获得完整的屏幕截图UIScrollView
。