나는 웹 기사를 보여야한다 UITableView
아래에 .
내가 찾은 유일한 옵션 UIWebView
은 tableView 헤더에 기사를 표시하는 것 입니다.
이를 위해 webView 콘텐츠의 높이를 가져와야하고 webView에 대한 스크롤링을 비활성화해야합니다.
스크롤을 비활성화하는 두 가지 솔루션을 찾았습니다.
for (id subview in webView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).scrollEnabled=NO;
또는 JavaScript에서 :
<script type="text/javascript">
touchMove = function(event) {
event.preventDefault();
}
첫 번째 해결책은 Apple에서 금지하고 있다고 들었지만 증거가 없습니다. 이 솔루션을 사용하면 신청이 거부됩니까? 그렇다면 거부되지 않고 두 번째 솔루션을 사용할 수 있습니까?
답변
iOS5부터 UIWebView의 scrollview에 직접 액세스 할 수 있습니다.
다음과 같이 스크롤 및 바운스를 비활성화 할 수 있습니다.
webView.scrollView.scrollEnabled = NO;
webView.scrollView.bounces = NO;
답변
이 질문은 여전히 적용 가능하기 때문에 새로운 방법이 있습니다! (iOS 7.0 이상, 아마도 iOS 6도 확인되지 않음)
webView.scrollView.scrollEnabled = NO;
조심하세요 🙂
답변
웹보기 사용자 상호 작용 속성을 no ie로 간단히 설정할 수 있습니다.
webView.userInteractionEnabled = NO;
꽤 간단하고 잘 작동합니다. 감사합니다 🙂
답변
모든 iOS 버전의 경우 setScrollEnabled 대신이 코드를 사용할 수 있습니다.
for (UIView *view in webview.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
UIScrollView *scrollView = (UIScrollView *)view;
scrollView.scrollEnabled = NO;
}
}
답변
이것을 사용하십시오 <body ontouchmove="event.preventDefault()">
답변
SWIFT 3 버전
webView.scrollView.bounces = false
webView.scrollView.isScrollEnabled = false
답변
나는 자바 스크립트를
<script type="text/javascript">
touchMove = function(event) {
event.preventDefault();
}
최고의 솔루션입니다.
사실 :
귀하의 첫 번째 시험 또는
[[[WebView subviews] lastObject] setScrollingEnabled:NO];
문서화되지 않았기 때문에 하나 (동일한 것)가 거부되거나 추가 iOS 업데이트에서 앱이 중단 될 수 있습니다.
그리고
[[myWebView scrollView] setBounces:NO];
방법은 iOS <5에서 작동하지 않습니다.