3
Я создаю скриншот отображаемого UIView. Я столкнулся с проблемой, когда элементы управления искажены и растянуты на мгновение (0,2-0,5 с) во время этого процесса. Он воспроизводится только для iPhone 6, 6+.Скриншот текущего UIView искажает и растягивает UIView на UIView.DrawViewHierarchy
мой простой код здесь (Xamarin.iOS):
public UIImage CreateScreenshotImage()
{
UIView rootView = UIApplication.SharedApplication.KeyWindow.RootViewController.View;
if (rootView != null)
{
var bounds = rootView.Bounds;
UIGraphics.BeginImageContextWithOptions(bounds.Size, false, 0);
**//here distortion starts, I can clearly see it in the DEBUG mode**
rootView.DrawViewHierarchy(bounds, true);
var screenshotImage = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
return screenshotImage;
}
return null;
}
Я не считаю, что это связано с Xamarin поэтому она должна быть такой же проблемой для родного приложения IOS, а также.
В чем может быть причина?
Этот код работает для меня, но у меня есть вид камеры, которая не оказывает, когда 'view.Layer.RenderInContext()' называется. Он отображается только с помощью 'view.DrawViewHierarchy'. Есть идеи? – vrwim