【问题标题】:Take screenshot of ViewController with scrollview使用滚动视图截取 ViewController
【发布时间】:2016-06-02 18:06:42
【问题描述】:

我搜索了 SO 并尝试了许多给定的解决方案,但徒劳无功,我正在开发一个需要截屏的应用程序,我有一个 UIViewController 和一个滚动视图,在滚动视图中我有一些标签,位于屏幕底部我有一个按钮,当我滚动到底部时它是可见的。

当我单击屏幕底部的按钮时,我想从上到下捕获所有屏幕,但我面临的问题是,它没有滚动到顶部,我只得到屏幕截图中屏幕的可见区域,如下图所示: 我正在使用下面的代码,在此先感谢

//Create the UIImage
UIGraphicsBeginImageContext(view.bounds.size)  //view.frame.size
view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
sharedImage = image

【问题讨论】:

标签: ios swift scrollview screenshot


【解决方案1】:

您正在做的是在UIViewController 之上截取SuperView 的屏幕截图。您需要对UIScrollView 进行截图,为此您需要通过UIScrollViewcontentSize

//Create the UIImage

UIGraphicsBeginImageContext(scrollView.contentSize)  //Change this line only
view.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
sharedImage = image

现在你会得到完整的UIScrollView的截图。

【讨论】:

  • 这几乎可以工作,但是当有一个 NavigationBar 时,它会切断顶部.. 有什么想法吗??
  • 你能发一下你UIViewController的截图吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-17
  • 2016-07-02
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多