2010-05-21 17 views
1

내 HTML 파일에 다음 자바 스크립트를 추가했습니다.UIWebView - iPhone의 상단 스크롤 중지

<script TYPE="text/javascript"> 
    function srk(){ 
     document.ontouchmove = function(e){ 
      e.preventDefault(); 
     } 
    } 
</script> 

일부 애니메이션이있는 코드를 따라 내 웹보기를 스크롤하고 있습니다.

내가 겪고있는 모든 문제는 다음과 같습니다.

iPhone/iPod의 상태 표시 줄에서 사용자/내가 탭할 때마다 WebView Bydefault가 맨 위로 스크롤됩니다. 이렇게하면 안됩니다.

inbuilt 기능을 방지 할 수 있습니까?

나는 옵션 중 하나가 다음과 같이 알고 있습니다.

((UIScrollView *)[[myWebView valueForKey:@"_internal"] valueForKey:@"scroller"]).scrollsToTop = NO; 

하지만 유효합니까?

답변

4

창에 매우 작은 UIScrollView를 추가 할 수 있습니다. 그런 다음 상태 표시 줄을 탭하면 웹보기가 위로 스크롤되지 않습니다.

1

더 간단한 방법은 의 scrollsToTop 속성을 WebView에 NO로 설정하는 것입니다.

for(UIView *view in [myWebView subviews]) { 
    if([view isKindOfClass:([UIScrollView class])]) { 
     [(UIScrollView *)view setScrollsToTop:NO]; 
    } 
} 

나는 이것을 iOS 4.0과 4.3에서 테스트했다 (iOS 5는 이것을 필요로하지 않는 것으로 보인다).

this에 적합하다.

관련 문제