gpt4 book ai didi

ios - -(无效)scrollViewDidScroll :(UIScrollView *)scrollView too slow in iOS 8

转载 作者:行者123 更新时间:2023-11-28 17:51:36 25 4
gpt4 key购买 nike

我有一个问题,在辅助 scrollview 上向上/向下滚动并从 scrollviewdidscroll 中设置 contentoffset 会导致轻微的抖动行为......或更准确地说是低帧速率。

我目前依靠 scrollViewDidScroll 来管理我的 UIScrollView 中的视差等效果,这些效果是通过监听 scrollViewDidScroll 来应用的,但是每次调用此方法的周转时间(出于某种原因)太慢并且导致足够的延迟以致于滚动时看起来有点糟糕。

有趣的是,iOS 9 运行良好。

我已经尝试过替代方法,例如关闭图像或使用 AsyncDisplayKit,但这两种方法都对触发 scrollViewDidScroll 的次数没有影响。

在我看来,我可能需要重新设计我创建视差效果的方式,但我犹豫是否有快速修复的方法。

最佳答案

首先 - 使用 Xcode Instruments 调试工具“Time Profiler”(Xcode 菜单 Product->Profile,然后从 instruments 中选择 Time Profiler)。

不要忘记勾选“Invert Call Tree”和“Hide System Libraries”复选标记,并检测代码中的问题所在。

之后你可以找到一些解决方案。

至少你可以尝试在为第二个 ScrollView 设置 contentOffset 属性之前添加额外的检查:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat contentOffsetForSecondScrollView = 123.0; // Calculate second scroll view content offset
// Add additional check, if content offset doesn't change
if (self.secondScrollView.contentOffset.y != contentOffsetForSecondScrollView) {
self.secondScrollView.contentOffset = CGPointMake(0, contentOffsetForSecondScrollView);
}
}

关于ios - -(无效)scrollViewDidScroll :(UIScrollView *)scrollView too slow in iOS 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31980966/

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