iOS 개발 총화 - 웹 페이지 높이 획득
당시 에는 이것 이 매우 간단 하 다 고 생각 했다. 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"];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.