Подтвердить что ты не робот

Остановка прокрутки/отскока в Phonegap IOS

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

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

Оцените справку:)

4b9b3361

Ответ 1

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

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

Ответ 2

Принятый ответ не сработал у меня, мне пришлось установить UIWebViewBounce в false:

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

Ответ 3

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

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

Ответ 4

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

Приветствия.

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

Есть способ, которым я использовал это. но он не является обычным, поскольку он имеет дело с внутренним кодированием. В MainViewController существует метод webViewDidFinishLoad. Включить это theWebView.scrollView.bounces = НЕТ;

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

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

Ответ 8

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

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

Ответ 9

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

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

Ответ 10

В config.xml вашего проекта, в настройках iOS установите DisallowOverscroll на значение true.

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

Ответ 11

Спасибо за ответ. Но если у вас проблема в Windows Phone, вот решение. Просто перейдите в файл MainPage.xaml.cs и замените ниже функцию.

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

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

Ответ 12

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

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

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

Ответ 13

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

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

Ответ 14

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

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

Ответ 15

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

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

Ответ 16

Лучше изменить два элемента в файле config.xml следующим образом:

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

Ответ 17

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

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