Agregar vista de encabezado a WKWebView ScrollView

¿Alguien ha logrado agregar con éxito una vista de encabezado o pie de página a WKWebView ScrollView ?

Actualmente estoy tratando de hacer esto usando el método descrito aquí para una UIWebView Agregar una vista de encabezado a una UIWebView similar a Safari y Artículos .

Cuando este método se usa en un WKWebView el WKWebView la vista de contenido se modifica correctamente, pero el contenido se interrumpe en la parte inferior.

El uso del desplazamiento del contenido de la vista de desplazamiento tampoco es posible, ya que rompe los elementos CSS posicionados fijos en la vista web.

Aquí hay un ejemplo que creo que hace como describes. contentInset el contenido web al configurar contentInset en el scrollView y al compensar el marco de vista de encabezado por una cantidad negativa:

 @implementation ViewController { WKWebView* _webView; UIView* _headerView; } - (void)viewDidLoad { [super viewDidLoad]; _webView = [[WKWebView alloc] initWithFrame: self.view.bounds]; [self.view addSubview: _webView]; [_webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: @"http://www.stackoverflow.com"]]]; [_webView.scrollView setContentInset: UIEdgeInsetsMake(100, 0, 0, 0)]; _headerView = [[UIView alloc] initWithFrame: CGRectMake(0, -100, 375, 100)]; _headerView.backgroundColor = [UIColor networkingColor]; [_webView.scrollView addSubview: _headerView]; } - (void) viewDidLayoutSubviews { [super viewDidLayoutSubviews]; _webView.frame = self.view.bounds; CGRect f = _headerView.frame; f.size.width = _webView.bounds.size.width; _headerView.frame = f; } 

En el método webView Delegate

 - (void)webViewDidFinishLoad:(UIWebView *)webView 

agregue la siguiente base de código,

 mainWebViewObj.scrollView.contentInset = UIEdgeInsetsMake(headerView.frame.size.height,0.0,headerView.frame.size.height,0.0); mainWebViewObj.scrollView.backgroundColor = [UIColor whiteColor]; if(![headerView superview]) { [webView.scrollView addSubview:headerView]; [webView.scrollView bringSubviewToFront:headerView]; } [mainWebViewObj.scrollView setContentOffset: CGPointMake(0, -mainWebViewObj.scrollView.contentInset.top) animated:NO]; 

Esto funcionó perfecto para mí. Espero que resuelva tu problema.