Остановка overscroll / bounce в Phonegap IOS
Я использую последнюю версию Phonegap на IOS (ipad), и я не могу отключить вертикальный overscroll/bounce на всем приложении. Я не возражаю против внутренних элементов, но это выглядит довольно странно, когда вы проводите вверх или вниз, и все приложение отскакивает вверх и вниз.
Я пробовал параметр UIWebViewBounce
до no
в рамках .однако plist, похоже, ничего не сделал.
спасибо за помощь :)
19 ответов:
вы должны изменить свойство в свой config.XML-файл. Просто установите следующее значение
true
<preference name="DisallowOverscroll" value="true" />
принятый ответ не работа для меня, я должен был поставить
UIWebViewBounce
tofalse
:<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">
лучше изменить два элемента в конфигурации.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" />