[ios] UIWebView가 세로로 “튀는”것을 중지 하시겠습니까?

누구든지 UIWebView가 세로로 튀는 것을 막는 방법을 알고 있습니까? 사용자가 iPhone 화면을 터치하고 손가락을 아래쪽으로 끌면 웹뷰에 내가로드 한 웹 페이지 위에 빈 자리가 표시됩니까?

나는 다음과 같은 가능한 해결책을 보았지만 그중 어느 것도 나를 위해 일하지 않았다.

http://www.iphonedevsdk.com/forum/iphone-sdk-development/996-turn-off-scrolling-bounces-uiwebview.html

http://forums.macrumors.com/showthread.php?t=619534

UIScrollView가 가로로 튀는 것을 어떻게 중지합니까?



답변

for (id subview in webView.subviews)
  if ([[subview class] isSubclassOfClass: [UIScrollView class]])
    ((UIScrollView *)subview).bounces = NO;

… 잘 작동하는 것 같습니다.

App Store에도 적용됩니다.

업데이트 :에 아이폰 OS 5.x의 +가 쉬운 방법이야 – UIWebViewscrollView코드는 다음과 같이 할 수 있도록 속성을 :

webView.scrollView.bounces = NO;

동일합니다 WKWebView.


답변

QuickConnect 라는 iPhone에서 완전한 설치 가능한 응용 프로그램으로 웹 응용 프로그램을 쉽게 만들 수있는 프로젝트를 찾고 있었고 화면을 스크롤 할 수 없도록하려는 경우 작동하는 솔루션을 찾았습니다. 나는하지 않았다.

위에서 언급 한 프로젝트 / 블로그 게시물에서 수신 거부 기능을 해제하기 위해 추가 할 수있는 자바 스크립트 기능에 대해 언급했습니다.이 기능은 본질적으로 다음과 같이 요약됩니다.

    document.ontouchmove = function(event){
        event.preventDefault();
    }

구현 방법에 대한 자세한 내용을 보려면 QuickConnect를 다운로드하여 확인하십시오 … 그러나 기본적으로 페이지로드시 해당 자바 스크립트를 호출하기 만하면됩니다. 잘 작동하는 것 같습니다.


답변

이 작업을 수행하기 위해 수행 한 작업은 다음과 같습니다.

UIView *firstView = [webView.subviews firstObject];

if ([firstView isKindOfClass:[UIScrollView class]]) {

    UIScrollView *scroll = (UIScrollView*)firstView;
   [scroll setScrollEnabled:NO];  //to stop scrolling completely
   [scroll setBounces:NO]; //to stop bouncing 

}

나를 위해 잘 작동합니다 … 또한,이 질문에 대한 틱 된 대답은 당신이 당신의 아이폰 애플 리케이션에서 사용하는 경우 애플이 거부 할 것입니다.


답변

iOS 5 SDK에서는 하위보기를 반복하지 않고 웹보기와 연관된 스크롤보기에 직접 액세스 할 수 있습니다.

따라서 스크롤보기에서 ‘수신 거부’를 비활성화하려면 다음을 사용할 수 있습니다.

myWebView.scrollView.bounces = NO;

참고 항목 있는 UIWebView 클래스 참조 .

그러나 5.0 이전 버전의 SDK를 지원해야하는 경우 Mirek Rusin의 조언을 따라야 합니다.


답변

스위프트 3

webView.scrollView.bounces = false


답변

경고. 내 앱에서 setAllowsRubberBanding :을 사용했고 Apple은 비공개 API 함수는 허용되지 않는다고 언급하여 거부했습니다 (인용 : 3.3.1)


답변

바운스를 비활성화하려면 Swift에서

webViewObj.scrollView.bounces = false