iOS開發(fā)總結-獲取網頁高度

前言

當時覺得這挺簡單的,無論是獲取WKWebView的ScrollView的內容高度還是調用JS,但是后面很容易出現網頁高度獲取不完的情況

解決思路

KVO監(jiān)聽scrollView.contentSize

實現

       [self.webView addObserver:self forKeyPath:@"scrollView.contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:@"DJWebKitContext"];
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context{
    if([keyPath isEqualToString:@"scrollView.contentSize"])
    {
        CGFloat webViewContentHeight = self.webView.scrollView.contentSize.height;
        if (webViewContentHeight != 50) {
            CGRect frame = self.webView.frame;
            frame.size.height = webViewContentHeight;
            self.webView.frame = frame;
            [self.webView sizeToFit];
            self.height = self.webView.maxY + 10;
            //        刷新自身高度
            if (self.delegate && [self.delegate respondsToSelector:@selector(mouoDiaryDetailHeaderViewWebDidFinish)]) {
                [self.delegate mouoDiaryDetailHeaderViewWebDidFinish];
            }
        }
        
    }
    
}
- (void)dealloc{
    [self.webView removeObserver:self forKeyPath:@"scrollView.contentSize" context:@"DJWebKitContext"];
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容