iOS tableview 与wkwebview 联动 商品详情页

作者: littleGG 发布时间: 2019-08-15 浏览: 1012 次 编辑


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