2016-04-12 11 views
0

Ich habe eine Ansicht in iOS App, wo mehrere wkwebview als Unteransichten hinzugefügt werden, um HTML-Inhalte zu rendern. Es zeigt den gesamten Inhalt an, aber wenn ich versuche, einen Screenshot zu machen, wird es leer angezeigt, als ob Inhalt nie in wkwebviews gerendert würde.Screenshot einer Ansicht mit mehreren Unteransichten als wkwebview

Code, den ich verwenden Screenshot machen:

//view is parent view which contains wkwebviews as childviews 
func takeScreenShot(view: UIView) -> UIImage{ 
    UIGraphicsBeginImageContext(view.bounds.size) 
    view.layer.renderInContext(UIGraphicsGetCurrentContext()!) 
    let image = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 
    return image 

} 

Wenn ich die UI-Hierarchie zu überprüfen, ist der Gehalt an wkwebviews tatsächlich aus dem gebundenen von der übergeordneten Ansicht. Gibt es den richtigen Weg, um einen Screenshot zu machen?

Antwort

0

Haben Sie versucht dies:

UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0); 
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES]; 
UIImage* uiImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

Entnommen here

+0

ich diese Zeilen Code versucht hatte. Es friert die Benutzeroberfläche ein. –

Verwandte Themen