Seems like I've fixed it. I have subclassed the UIScrollView, and passed the touches* events to it's parent. Which seems to have no effect on the scrolling, but makes sure it does trigger the tap event for CCButtons.
#import "ScrollNodeScrollView.h"
@implementation ScrollNodeScrollView
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesCancelled:touches withEvent:event];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesBegan:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview touchesMoved:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)aTouches withEvent:(UIEvent *)anEvent
{
[self.superview touchesEnded:aTouches withEvent:anEvent];
}
@end