How to Make a Core Animation Layer Not Clickable
Core Animation Layers handle mouse clicks using the hitTest: and containsPoint: methods. It is common to have layers in the hierarchy that are simply visual effects and shouldn't be clickable. This is very easy to do.
In your CALayer subclass, simply override hitTest: and containsPoint: as follows:
- (CALayer *)hitTest:(CGPoint)thePoint {
    return nil;
}
- (BOOL)containsPoint:(CGPoint)p {
    return NO;
}
That's it! The layer can exist in the hierarchy of clickable layers without being itself clickable and interfering in the user input.