作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 iPhone 中捕获我的应用程序的屏幕。每当要捕获弹出页面时,屏幕截图中只能看到弹出 View ,捕获的屏幕截图中背景屏幕变黑。我需要屏幕截图来显示弹出窗口和底层页面。
我在 Xamarin.Forms
中编码。我正在使用 DependencyService 在 iOS 和 Android 中捕获屏幕截图。
在 Android 中,我能够捕获弹出窗口和背景页面。但在 iOS 中,会捕获带有黑色背景的弹出窗口。
var capture = UIScreen.MainScreen.Capture();
这是 iOS DependencyService 中用于截屏的代码。
最佳答案
我有一个在我的 POC 中使用的屏幕截图方法,但我不确定它是否适用于弹出窗口,您可以尝试一下
private void TakeScreenshot()
{
var layer = UIApplication.SharedApplication?.KeyWindow?.Layer;
var scale = UIScreen.MainScreen.Scale;
UIGraphics.BeginImageContextWithOptions(layer.Frame.Size, false, scale);
var context = UIGraphics.GetCurrentContext();
if (context == null)
{
return; // Show popup screenshot was not taken
}
layer.RenderInContext(context);
var screenshotImage = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
if (screenshotImage != null)
{
screenshotImage.SaveToPhotosAlbum((UIImage, NSError) => { });
}
}
关于ios - 如何在 iPhone 的 xamarin 中捕获带有弹出窗口的屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56882483/
我是一名优秀的程序员,十分优秀!