Sie können folgendes tun:
erstellen 2 UIWebViews in Ihrem Viewcontroller, webView und webView2, implementieren @interface ViewController : UIViewController <UIWebViewDelegate>
in Ihrem Viewcontroller-Header.
In viewDidAppear Sie die fullHTMLString von der Seite geladen wird, möchten Sie mit in webView2 arbeiten und setzen danach die Delegierten für webView2 wie so:
-(void)viewDidAppear:(BOOL)animated
{
NSString *fullHTMLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"https://python.org"] encoding:NSASCIIStringEncoding error:nil];
[self.webView2 setHidden:YES];
[self.webView2 loadHTMLString:fullHTMLString baseURL:nil];
[self.webView2 setDelegate: self];
}
Sie müssen webViewDidFinishLoad Delegatmethode, implementieren und in Sie rufen [stringByEvaluatingJavaScriptFromString]
, die Ihr gewünschtes einzelnes Element basierend auf Parametern erhalten Sie geben es.
In diesem Beispiel wählte ich, um es durch ElementID abrufen, können Sie Javascript verwenden, um es auf andere Weise abrufen.
Sobald Sie Ihr gewünschtes Element zum Anzeigen haben, erstellen Sie einen HTML-String und fügen ihn ein. Danach laden Sie den vollständigen HTML-Code mit dem einzelnen Element in das erste WebView (webView und nicht webView2) Endlosschleife beim Aufruf der Delegate-Methode.
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *singleElementString = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"mainnav\").innerHTML;"];
NSString *html = [[NSString alloc] initWithFormat:@"<html>%@</html>", singleElementString];
[self.webView loadHTMLString:html baseURL:nil];
}