누구든지 UIWebView가 세로로 튀는 것을 막는 방법을 알고 있습니까? 사용자가 iPhone 화면을 터치하고 손가락을 아래쪽으로 끌면 웹뷰에 내가로드 한 웹 페이지 위에 빈 자리가 표시됩니까?
나는 다음과 같은 가능한 해결책을 보았지만 그중 어느 것도 나를 위해 일하지 않았다.
답변
for (id subview in webView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).bounces = NO;
… 잘 작동하는 것 같습니다.
App Store에도 적용됩니다.
업데이트 :에 아이폰 OS 5.x의 +가 쉬운 방법이야 – UIWebView
이 scrollView
코드는 다음과 같이 할 수 있도록 속성을 :
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