ProgramingTip

Phonegap IOS에서 오버 스크롤 / 바운스 중지

bestdevel 2020. 12. 9. 21:33
반응형

Phonegap IOS에서 오버 스크롤 / 바운스 중지


IOS (ipad)에서 최신 버전의 Phonegap을 사용하고 전체 앱에서 수직 오버 스크롤 / 바운스 버전의 할 수없는 것입니다. 내부 요소에는 신경 쓰지 않지만 위아래로 스 와이프하면 전체 앱이 위아래로 튀어 나오면 다소 이상해 시청.

나는 .plist에서 설정 UIWebViewBounce시도했지만 no아무것도하지 않은을 구석으로 같습니다.

감사합니다 :)


config.xml 파일에서 속성을 수정해야합니다. 다음 환경 설정을true

<preference name="DisallowOverscroll" value="true" />

받아 들인 대답이 저에게 효과가 문장에서 다음과 같이 설정 UIWebViewBounce해야했습니다 false.

<preference name="UIWebViewBounce" value="false" />

이제 phonegap 3.0 위 버전의 경우 config.xml 파일의 syntex 아래에서 사용하면 100 % 작동합니다.

<preference name="DisallowOverscroll" value="true"/>

<preference name="DisallowOverscroll" value="true"/>운없이 config.xml에 추가 하는 경우 잘못된 파일을 설명 할 수 있습니다. 대신 전체 phonegap 디렉터리에서 "DisallowOverscroll"을 검색하십시오. 여러 인스턴스를 찾아야합니다. 문의를 다음으로 변경하십시오.true.

건배.


다른 것이 작동하지 -webkit-overflow-scrolling: touchCSS에서 제거 합니다.


이 방법으로 사용 :-

function disallowOverscroll(){
  $(document).on('touchmove',function(e){
    e.preventDefault();
  });
  $('body').on('touchstart','.scrollable',function(e) {
    if (e.currentTarget.scrollTop === 0) {
      e.currentTarget.scrollTop = 1;
    } else if (e.currentTarget.scrollHeight
              === e.currentTarget.scrollTop
                  + e.currentTarget.offsetHeight) {
      e.currentTarget.scrollTop -= 1;
    }
  });
  $('body').on('touchmove','.scrollable',function(e) {
    e.stopPropagation();
  });
}
disallowOverscroll();

자세한 내용이나 팁과 요령을 보려면 자세한 내용을 보려면 클릭하십시오.


프로젝트의 config.xml에서 iOS 환경 설정에서 DisallowOverscroll을 true로 설정하십시오. 기본적으로 전체보기가보기의 내부 요소와 함께 스크롤 만드는 것은 거짓입니다.

<preference name="DisallowOverscroll" value="true" />

관리자 달성하기 위해 사용 방법이 있습니다. 그러나 그것은 많은 코딩을 다루기 때문입니다. MainViewController에는 webViewDidFinishLoad라는 메서드가 있습니다.
theWebView.scrollView.bounces = NO를 포함 하십시오 .

그 방법 안에.

- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
    // Black base color for background matches the native apps
    theWebView.backgroundColor = [UIColor blackColor];
    theWebView.scrollView.bounces= NO;
    return [super webViewDidFinishLoad:theWebView];
}

이 ios는 코드를 실행하여 모든 phonegap / cordova 배포에서 작동합니다.


모든 답변에 감사드립니다. 그러나 Windows Phone에 문제가있는 경우 여기에 해결책이 있습니다. MainPage.xaml.cs 파일로 이동하여 아래 함수를 교체하십시오.

public MainPage()
    {
        InitializeComponent();
        this.CordovaView.DisableBouncyScrolling = true;
        this.CordovaView.Loaded += CordovaView_Loaded;
    }

나를 위해 작동합니다 :)


프로젝트의 config.xml에서 iOS 환경 설정에서 DisallowOverscroll을 true로 설정하십시오.

<preference name="DisallowOverscroll" value="true" />

모든 문제가 있었지만 지금까지 모든 솔루션 (config.xml 편집 등) 솔루션으로 수는 없습니다.

그러나 마지막으로 본문의 CSS 속성을 편집 한 다음 수정했습니다.

html,body
{
  overflow: auto;
  height:100%;
}

이 하나를 시도해 당신이 이온 프레임 워크 사용자 Abc.html 파일 내부 콘텐츠.

<ion-content has-bouncing="false">


이것을 사용하십시오 :

<preference name="UIWebViewBounce" value="false" />

이것이 phonegap 3.0을 실행하는 내 앱에서 작동 한 것입니다. 다음 줄을 config.xml에 추가합니다.

<preference name="webviewbounce" value="false"/>

다음과 같이 config.xml에서 두 요소를 수정하는 것이 좋습니다.

<preference name="DisallowOverscroll" value="true"/>
<preference name="UIWebViewBounce" value="false" />

이것은 나를 위해 일했습니다. phonegap 앱의 config.xml 파일에 다음 코드를 추가해보세요.

<preference name="DisallowOverscroll" value="true">


xCode 열기-> 왼쪽 메뉴에서 config.xml을 찾아 클릭->하고 DisallowOverscroll 값 false를 true로 변경하거나 이전 코드를 대체하여이 코드를 사용합니다.

 <preference name="DisallowOverscroll" value="true" />

Cordova 7 및 iPhone 7 + iOS 11.0.3의 경우 루트 디렉토리 config.xml을 수정하고이를 추가하면 멋지게 작동했습니다.

<platform name="ios">
    <preference name="DisallowOverscroll" value="true" />
    <preference name="UIWebViewBounce" value="false" />
    ... (other stuff) ...
</platform>

config.xml을 업데이트 한 후 운이 좋지 않았습니다.이 경우 시도해보십시오.

iOS가 iPhone + iOS 11에서 작동하는 경우 CDVThemeableBrowser.m 파일에서 속성을 YES 로 설정합니다 .

self.disallowoverscroll = YES;

참고 URL : https://stackoverflow.com/questions/16274074/stopping-overscroll-bounce-in-phonegap-ios

반응형