所以我已经设法让我可爱的 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;
}
}