是否有人成功地将页眉或页脚视图添加到WKWebView
ScrollView
我目前正在尝试使用这里为UIWebView
Adding a header view to a UIWebView similar to Safari and Articles描述的方法来实现这一点。
在WKWebView
中使用此方法时,内容视图的origin.y
会正确更改,但底部的内容会被截断。
使用滚动视图内容偏移也是不可能的,因为它破坏了web视图中固定位置的CSS元素。
发布于 2017-05-17 20:30:32
在webView委托方法中
- (void)webViewDidFinishLoad:(UIWebView *)webView
添加以下代码库:
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];
这对我来说是完美的。希望它能解决你的问题。
发布于 2015-12-18 06:13:21
这里有一个例子,我认为它就像你所描述的那样。它通过在scrollView
上设置contentInset
并将标题视图框偏移负数来偏移web内容:
@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 redColor];
[_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;
}
https://stackoverflow.com/questions/31961854
复制相似问题