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

Почему прокрутка UIWebView * отличается * чем отличается от прокрутки любого другого UIScrollView?

Я создаю приложение, которое загружает небольшое количество простых HTML (локально) в один полноэкранный UIWebView. Я замечаю, что прокрутка этого веб-представления кажется существенно отличным от прокрутки любого другого UIScrollView. Это, кажется, не проблема производительности или отзывчивости, как таковая... Это просто вопрос о том, как импульс разыгрывается, когда вы перетаскиваете и просматриваете веб-представление вверх и вниз. Он просто не чувствует себя "родным" (из-за отсутствия лучшего слова). Это похоже на прокрутку мелассы или пудинга... своего рода "липким", а не "гладким", как вы хотели бы, чтобы он чувствовал.

Кто-нибудь знает, что вызывает это? Есть ли способ исправить это или, по крайней мере, сделать прокрутку UIWebView более "родной"?

4b9b3361

Ответ 1

У меня такое же восприятие. Это должно иметь отношение к скорости замедления webView scrollView. Просто прошел этот тест и 1) он подтверждает наше подозрение и 2) предлагает исправить.

Я добавил scrollView и webView в свой пользовательский интерфейс, после чего зарегистрировал следующее:

NSLog(@"my scroll view decel rate is %f", self.scrollView.decelerationRate);
NSLog(@"my web view decel rate is %f", self.webView.scrollView.decelerationRate);
NSLog(@"normal is %f, fast is %f", UIScrollViewDecelerationRateNormal, UIScrollViewDecelerationRateFast);

Результат подтверждает предположение о том, что webView является более фрикционным:

my scroll view decel rate is 0.998000
my web view decel rate is 0.989324
normal is 0.998000, fast is 0.990000

И предлагает исправление:

self.webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;