iOS tableview 与wkwebview 联动
网上很多种方法,这里只提供一种最简单的方式
1、把tableview 和 wkwebview 放到scrollview 上
初始化wkwebView的时候监听contentSize 通过contentSize的大小来更新wkwebview的高度以及scrollview的contentSize
[_wkWebView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
#pragma mark - KVO
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
CGFloat newHeight = self.wkWebView.scrollView.contentSize.height;
[self.wkWebView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.mTableView.mas_bottom);
make.left.right.equalTo(self.view);
make.height.mas_equalTo(newHeight);
}];
_mContentView.frame = CGRectMake(0, 0, K_SCREEN_WIDTH, self.mTableView.bounds.size.height + newHeight);
self.mScrollView.contentSize = CGSizeMake(K_SCREEN_WIDTH,self.mTableView.bounds.size.height + newHeight);
}最后不要忘记
- (void)dealloc {
[self.wkWebView.scrollView removeObserver:self forKeyPath:@"contentSize"];
}