2010-05-16 5 views
0

일반 UIViewController 안에 UIWebView가 있습니다. UIWebView의 내용은 내 프로그램에서 프로그래밍/동적으로 작성되며 매우 길 수 있습니다 (여러 테이블 행). 여하튼, 화면을 스 와이프하면 페이지가로드 된 후 페이지가 콘텐츠의 화면 절반 이상 스크롤되지 않습니다. 그렇기 때문에 나는 처음 몇 줄의 데이터 만 볼 수 있지만 이후의 많은 행은 볼 수 없다. 왜 그런가요?UIWebView가로드/생성 된 웹 페이지의 맨 아래로 스크롤되지 않습니다.

+0

UIWebView에서 내용의 행 수를 변경하면 내용의 높이가 올바르게 반영된 것 같습니다. . 그리고 나는 webview의 프레임을 설정하기 위해 다음 코드를 사용했다. 뭐가 잘못 됐니? 나는 또한 시각적으로 스크롤바 범위가 콘텐츠 변경을 반영하지 않는 것으로 나타났습니다, 그것은 고정되어 있습니까? - (void) webViewDidFinishLoad : (UIWebView *) webView { CGFloat height = [[webView stringByEvaluatingJavaScriptFromString : @ "document.body.offsetHeight;"] floatValue]; webView.frame = CGRectMake (0.0, 40.0, 320.0, height); } – tom

+0

스크롤바는 UIWebView를 사용하는 하나의 빌드 인입니다. 그것은 스크롤바의 범위가 제대로 설정되지 않은 것처럼 보입니다. 위의 코드 다음에서 스크롤 막대가 페이지의 맨 아래로 스크롤하지 않았을 때. [webView stringByEvaluatingJavaScriptFromString : [NSString stringWithFormat : @ "window.scrollTo (0, % d);", 높이]]; btw, 이것은 모두 iPhone Simulator 내부에서 관찰됩니다. 기기에서 아직 시도하지 않았습니다. – tom

+0

여기를 확인 : http://stackoverflow.com/questions/3290697/uiwebview-wont-scroll-till-the-end-bottom – Burjua

답변

2

제대로 UIWebView를 사용하여 하단으로 스크롤 할 수없는 경우 :

1) 한 가지 방법 (프로그래밍) 문제가 UIWebView에 적절한 자동 크기 조정을 사용하고 해결하기 위해.

self.webView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin ; 

enter image description here

2) 문제를 해결하기위한 다른 방법 (인터페이스 작성기) UIWebView에 적절한 자동 크기를 사용한다. Interface Builder-> Web View-> Size Inspector로 이동하여 모든 부분에서 부품 자동 크기 조정 (위 이미지와 같이)

+0

어디에서 '인터페이스 빌더'를 찾을 수 있습니까? 그 스크린 샷을 어디에서 가져 왔습니까? – Ruben

관련 문제