NSOperation for animation loop causes strange scrolling behaviour

I've created an animation loop which I run as an operation in order to keep the rest of my interface responsive. Whilst almost there, there is still one remaining issue. My UIScrollViews don't seem to be reliably picking up when a user touch ends. What this means is, for example, if a user drags down on a scroll view, when they lift their fingers the scrollview doesn't bounce back into place and the scrollbar remains visible. As if the finger hasn't left the screen. It takes another tap on the scrollview for it to snap to its correct position and the scrollbar to fade away...

Here's the loop I created in a subclassed NSOperation:

- (void)main
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    NSRunLoop *runLoop = [NSRunLoop currentRunLoop];

    _displayLink = [[CADisplayLink displayLinkWithTarget: self selector: @selector(animationLoop:)] retain];
    [_displayLink setFrameInterval: 1.0f];
    [_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode: NSRunLoopCommonModes];

    while (![self isCancelled])
    {
        NSAutoreleasePool *loopPool = [[NSAutoreleasePool alloc] init];
        [runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
        [loopPool drain];
    }

    [_displayLink invalidate];

    [pool release];
}

It seems that whilst this operation is running things go a little weird...

DOes anyone have any idea what might be going on here, and even better how to fix it...

Thanks!

Answers


I do not understand why are you using a so complicated solution for your need which seems very classic.

In my opinion you'd better use the Quartz basic features to create your animation and let the OS choose when to compose for rendering. You can also use the setNeedsLayout and setNeedDisplay method to notify the rendering loop you've modify something instead of implementing your own loop.

Or maybe you have a specific need I did not understand.


Need Your Help

Likes not loading on photos from private accounts using Instagram API

api instagram

Likes not loading on photos from private accounts using the Instagram API. Same access token works fine to load likes on photos from non private accounts. The user for this access token is followin...

SQLite: Select all Names of given Colors

sqlite

I have an SQLite Database, two of the tables look like this: