In our app we have UIScrollView above CAEAGLLayer. UIScrollView contains some UIViews (red rectangles). In CAEAGLLayer we draw white rectangles. Centers of white rectangles
In order to synchronize UIKit and OpenGL drawing, you should try to render where Core Animation expects you to draw, i.e. something like this:
- (void)displayLayer:(CALayer *)layer { [self drawFrame]; } - (void)updateVisibleRect:(CGRect)rect { _visibleRect = rect; [self.layer setNeedsDisplay]; }