Обмежити максимальну швидкість UIScrollView? Або очистити збережений рендеринг плитки?

У мене є UIScrollView з великою кількістю складної векторної графіки, представленої в черепиці UIWebViews.

Проблема полягає в тому, що під час перегляду зору досить швидко (кілька, послідовних швидких переміщень) з'являються непривабливі візуальні збої, оскільки повторно використані плитки містять знімок старого візуалізації, перш ніж вони оновлюються. Кінцевим результатом є те, що плитки, які виходять з екрана, негайно повертаються через іншу сторону, перш ніж їхній вміст раптово перегортається.

Я сподіваюсь, що у вас є якийсь спосіб обмежити максимальну швидкість прокручування, за яким можна перейти. Я міг би просто вимкнути прокрутку, але це було б не ідеально.

Якщо є спосіб очистити збережений рендеринг UIWebView, це також може бути хорошим виправленням у випадковому діапазоні.

1
Прокручування Це прокручування в прокрутці.
додано Автор Simon Lee, джерело
Відключення прокрутки на UIWebViews усуває цю проблему. Я згоден з тим, що це не ідеально, але підтримка SVG в iOS є абсолютно жалюгідною. Спробував SVGKit, але не підтримує багато основних елементів, таких як текст.
додано Автор Ben, джерело

1 Відповіді

Рішення 1

Сховати UIWebView, коли вони починають завантажувати сторінку, і показують їх, коли вони закінчуються через делегат UIWebView ( UIWebViewDelegate ).

У webViewDidStartLoad: приховати UIWebView (тобто myWebView.hidden = YES; ). У webViewDidFinishLoad: показує його знову.

Можливо, краще буде сховати веб-перегляду в іншому місці вашого коду, але показувати його в webViewDidFinishLoad: це гарна ідея. Ви також хочете мати фон для перегляду прокрутки, оскільки ви побачите за допомогою UIWebView, використовуючи цей метод.

Рішення 2

Change the UIScrollView's decelerationRate

Затримка швидкості

     

Значення з плаваючою комою, що визначає швидкість затримки після   користувач піднімає свій палець.

@property(nonatomic) float decelerationRate

Обговорення

     

Ваша програма може використовувати UIScrollViewDecelerationRateNormal та   Константи UIScrollViewDecelerationRateFast як контрольні точки для   розумні темпи падіння.

     

Наявність

     

Доступно в iOS 3.0 та пізніших версіях.

     

Заявляється в

     

UIScrollView.h

2
додано
Цей сайт чудово підходить для отримання відповідей. Отже, чи зробив одне з двох рішень для вас? Я припускаю, що вам сподобався перший ще один, як здавалося більш елегантним підходом, але я не здивуюся, якщо зробили їх обоє.
додано Автор Sam, джерело
Тепер чому я не думаю про ці раніше ..? Ніколи не був так вдячний за владу Інтернету. Дякую за поради!
додано Автор Ben, джерело
зробили їх обидва, а потім встановили фонове зображення для позначення нерозрізненої плитки. тепер є зворотний зв'язок з користувачем, якщо вони прокручуються так шалено швидко, що нічого не виявляється на кілька секунд! Я сподіваюся на кращу підтримку svg у майбутніх випусках iOS. кожна плитка становить приблизно 100-200мм прямо зараз .. perceptibly glitchy, але все ще можна використовувати.
додано Автор Ben, джерело
IT KPI iOS
IT KPI iOS
74 учасників

Чат обсуждения IOS. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/602

ios_jobs_ua
ios_jobs_ua
27 учасників

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.