IOS:CADisplay / UIScrollview 和导航控制器

Posted

技术标签:

【中文标题】IOS:CADisplay / UIScrollview 和导航控制器【英文标题】:IOS : CADisplay / UIScrollview and Navigation Controller 【发布时间】:2012-06-26 11:06:08 【问题描述】:

所以我已经设法让我可爱的 ​​GLKit 3D 菜单与 UIScrollview 一起使用,并且在我推送到另一个视图控制器并返回之前,生活是美好的。

如此完全平滑的移动,移动到下一个控制器并返回。 UIScrollview 不能很好地弹跳或流动?

每次滚动视图移动和停止时,CADisplay Link 都会初始化并且为零,这似乎工作正常,直到我推送到另一个控制器并返回。

如果我随机单击一个导致滚动视图移动并触发所有代码的项目,它就会重新启动。可悲的是,如果我尝试在视图上触发它确实出现它不会做同样的事情。

- (void)startDisplayLinkIfNeeded

    if (!self.displayLink) 
    
        self.displayLink = [CADisplayLink displayLinkWithTarget:self.view selector:@selector(display)];
        [self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
    


- (void)stopDisplayLink

    if (self.displayLink)
    
         [self.displayLink removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];

        [self.displayLink invalidate];
        self.displayLink = nil;
    

【问题讨论】:

【参考方案1】:

所以,经过一整天的努力解决这个问题,它归结为

self.preferredFramesPerSecond = 60`

如果我根据我的工作将其动态更改为 15 到 20 左右,整个问题就会消失。

【讨论】:

以上是关于IOS:CADisplay / UIScrollview 和导航控制器的主要内容,如果未能解决你的问题,请参考以下文章

iOS - UIScrollView 中的按钮点击动画

iOS菜鸟的开发记录(01)

如何在 iOS 上的 UIScrollView 中正确替换 UIImageView 中的图像

没有 tableView 的 UIRefreshControl

将滚动视图添加到视图

启用 UIScrollView 的缩放重置缩放视图转换