저는 몇 시간 동안이 문제에 봉착했습니다. 동적으로 UIWebView 그것의 콘텐츠 크기를 기반으로 크기를 조정하려고 해요. 내 문제는 모든 아이폰 5에서 내 애플 리케이션을 실행할 때 잘 작동하지만 아이폰 4 (및 시뮬레이터 - 3.5 인치) 동일한 동작을 얻지 않는다는 것입니다. 아이폰 4에 내 코드의 버전으로UIWebView 콘텐츠 크기가 항상 동일한 값을 반환합니다.
- (void)webViewDidFinishLoad:(UIWebView *)webview {
CGFloat height = webview.scrollView.contentSize.height;
_descriptionHeight = height;
self.webView.scrollView.scrollEnabled = NO;
self.webView.scrollView.bounces = NO;
}
는 height
에 상관없이 내용이 무엇인지, 항상 0이 없습니다.
[[webview stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue]
을 사용하여 JS로 계산해 보았습니다.
두 가지 방법 모두 iPhone 5에서 제대로 작동하지만 문제는 4 (둘 다 iOS6 실행)에서만 발생합니다.
아이디어가 있으십니까?
편집 : 문제를 재현 할 수있는 방법을 찾았습니다. 하나의 섹션, 8 개의 정적 셀이있는 테이블보기가 있습니다. 내 webview는 4 번째 셀 안에 있습니다 (맨 위부터 시작, row = 3). 내 셀을 첫 번째 위치 (행 = 0)로 이동하면 모든 것이 정상적으로 작동합니다. 4 번째 자리로 옮기면 문제를 재현 할 수 있습니다. 너희들은 어떻게 생각하니? UITableView의 버그?
저는 iPhone 4 (iOS6)와 시뮬레이터 (iOS5 & iOS6)에서 코드를 시험해 보았고 정상적으로 작동합니다. 내가 가지고있는 문제를 재현 할 수 없습니다. 이 문제는'webViewDidFinishLoad :'가 아니라'UIWebView'를 설정하는 방법과 관련이 있습니다. 미안 나는 그것보다 더 많은 도움을 기울이지 않는다. –
@StephSharp 시험해 주셔서 감사합니다. 내 webView는 스토리 보드에 설정되어 있으므로 해당 화면을 다시 실행 해 보겠습니다. –