Остановка overscroll / bounce в Phonegap IOS


Я использую последнюю версию Phonegap на IOS (ipad), и я не могу отключить вертикальный overscroll/bounce на всем приложении. Я не возражаю против внутренних элементов, но это выглядит довольно странно, когда вы проводите вверх или вниз, и все приложение отскакивает вверх и вниз.

Я пробовал параметр UIWebViewBounce до no в рамках .однако plist, похоже, ничего не сделал.

спасибо за помощь :)

19 51

19 ответов:

вы должны изменить свойство в свой config.XML-файл. Просто установите следующее значениеtrue

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

принятый ответ не работа для меня, я должен был поставить UIWebViewBounce to false:

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

теперь для phonegap 3.0 выше версии используйте ниже syntex в конфигурации.xml-файл, и он будет работать 100%

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

Если вы добавляете <preference name="DisallowOverscroll" value="true"/> в config.xml без каких-либо успехов, вы можете изменить неправильный файл. Вместо этого выполните поиск по всему каталогу phonegap для " DisallowOverscroll.- Вы должны найти несколько примеров. Измените их на true.

Ура.

Если больше ничего не работает, попробуйте удалить -webkit-overflow-scrolling: touch из вашего css...если бы он у тебя был!

используйте этот способ: -

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();

для получения более подробной информации или советы, пожалуйста, прочитайте эту статью клик

есть способ я использовал для достижения этой цели. но это не обычное, потому что оно имеет дело с собственным кодированием. В MainViewController есть метод с именем webViewDidFinishLoad. Включите это
theWebView.представление ScrollView.отскоки= нет;

внутри этого метода.

- (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.

это то, что работало для моего приложения под управлением phonegap 3.0: добавьте следующую строку в файл config.xml

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

в config.xml вашего проекта, в разделе Настройки для iOS установите DisallowOverscroll в true. По умолчанию это false, что делает весь вид для прокрутки вместе с внутренними элементами представления.

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

в config.xml вашего проекта, в разделе Настройки для iOS установите DisallowOverscroll в true.

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

Спасибо за ответ. Но если у вас есть проблема в windows Phone вот решение. Просто перейдите на главную страницу.код XAML.CS файл и заменить ниже функции..

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

его работы для меня :)

У меня была аналогичная проблема, но я не мог исправить ее со всеми решениями, которые я нашел до сих пор (например, редактирование конфигурации.XML.)

но, наконец, просто отредактировав свойство CSS тела, затем он исправил:

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

попробуйте это, если вы являетесь пользователем Ionic framework Abc.html-файл внутри содержимого.

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

используйте этот:

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

лучше изменить два элемента в конфигурации.XML следующим образом:

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

это сработало для меня. Попробуйте добавить этот код в config.xml-файл вашего приложения phonegap:

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

открыть xCode - > найти и нажать на config.xml из левого меню - > и измените значение DisallowOverscroll false на true Или используйте этот код, заменив предыдущий.

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

для Cordova 7 и iPhone 7 + iOS 11.0.3, изменение конфигурации корневого каталога.xml и добавление этого работали красиво:

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

после обновления конфигурации.xml мне не повезло, если это ваш случай попробуйте это.

для iOS работает на iPhone + iOS 11, на CDVThemeableBrowser.файл м, расположен в да:

self.disallowoverscroll = YES;