gpt4 book ai didi

objective-c - 限制 UIScrollView 的最大速度?或清除已保存的图 block 渲染图?

转载 作者:行者123 更新时间:2023-11-29 11:19:40 24 4
gpt4 key购买 nike

我有一个 UIScrollView,它在平铺的 UIWebView 中呈现了许多复杂的矢量图形。

问题是,当 View 滚动得非常快(几次连续的快速滑动)时,会出现难看的视觉故障,因为重复使用的图 block 在刷新之前包含旧渲染的快照。最终结果是,移出屏幕的图 block 似乎立即从另一侧返回,然后突然重绘它们的内容。

我希望有一些方法可以限制 ScrollView 可以轻弹的最大速度。我可以只禁用轻弹滚动,但这并不理想。

如果有一种方法可以清除已保存的 UIWebView 渲染,那也可能是一个很好的创可贴修复方法。

最佳答案

方案一

当 UIWebView 开始加载页面时隐藏它们,并在它们通过 UIWebView 的委托(delegate)(UIWebViewDelegate)完成时显示它们。

webViewDidStartLoad:隐藏 UIWebView(即 myWebView.hidden = YES;)。在 webViewDidFinishLoad:再次显示。

在代码的其他地方隐藏 webView 可能更好,但在 webViewDidFinishLoad: 中显示它是个好主意。您还需要 ScrollView 的背景,因为您会看到使用此方法的 UIWebView 的背后。

解决方案2

更改 UIScrollView 的 decelerationRate

decelerationRate

A floating-point value that determines the rate of deceleration after the user lifts their finger.

@property(nonatomic) float decelerationRate

Discussion

Your application can use the UIScrollViewDecelerationRateNormal and UIScrollViewDecelerationRateFast constants as reference points for reasonable deceleration rates.

Availability

Available in iOS 3.0 and later.

Declared In

UIScrollView.h

关于objective-c - 限制 UIScrollView 的最大速度?或清除已保存的图 block 渲染图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com