2012-05-18 2 views
2

가변 높이 인 UIWebView을 보유한 UITableView가 있으며 사용자는 각 웹보기의 내용을 편집 할 수 있습니다. 각 셀의 내용 (웹보기)은 내용의 높이가 contentHeight으로 저장된 NSManagedObject 하위 클래스에 연결됩니다. 새로운 콘텐츠 집합이 처음 만들어지면 높이가 설정된 기본 데이터 집합으로 채워 지므로 문제가 없습니다.(UITableViewCell에 포함 된) UIWebView 콘텐츠의 높이 결정

내 문제는 사용자가 웹보기의 내용을 편집 할 때 발생합니다. 새로운 콘텐츠의 높이를 파악하고 이에 따라 tableview를 업데이트해야합니다. 해당 객체에 대해 저장된 contentHeight 변수를 업데이트하기위한 로직을 이미 설정했지만 신뢰할 수있는 방법으로 새 ​​컨텐츠의 높이를 결정할 수 없습니다. 아래에서 필자가 시도한 방법 중 일부를 나열하고 작업을 수행하지 못했습니다. 어떤 도움을 크게 감상 할 수있다, 나는 이제 시간 이상에 대한 난처한 상황에 빠진 봤는데 :(

실패 방법 :

[[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight"] floatValue]; 

[[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] floatValue]; 

[[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue]; 

[[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('sdcontent').offsetHeight"] floatValue]; 

CGRect webViewFrame = [webView frame]; 
CGRect temp = webViewFrame; 
webViewFrame.size.height = 1; 
[webView setFrame:webViewFrame]; 
CGSize fittingSize = [webView sizeThatFits:CGSizeZero]; 
webViewFrame.size = fittingSize; 
[webView setFrame:temp]; 

답변

2

가 있지만 작동하는 경우에만

  • 웹보기를 만들기 작음 (5px와 같음)
  • 로드하고 마침을 기다리십시오.
  • 발신자 부담 전화주세요 그 다음

광고 크기를 점점 : D이

에 어려움을 겪고 GitHub의 내 M42WebviewTableViewCell 클래스를 참조하십시오
관련 문제