iOS 개발 총화 - 웹 페이지 높이 획득

1429 단어
머리말
당시 에는 이것 이 매우 간단 하 다 고 생각 했다. WKWebView 의 ScrollView 의 내용 높이 를 얻 든 JS 를 호출 하 든 뒤에 웹 페이지 의 높이 를 다 얻 지 못 하 는 상황 이 발생 하기 쉽다.
해결 방향
KVO 감청 scrollView. contentSize
이루어지다
       [self.webView addObserver:self forKeyPath:@"scrollView.contentSize" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:@"DJWebKitContext"];
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)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"];
}

좋은 웹페이지 즐겨찾기