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"]; }