cocos2d プロジェクトで UIScrollView をオーバーレイする際に、さまざまな問題が発生しました。提案されたすべてのハックを使用しても、cocos2d で 1 つのフレームに時間がかかりすぎると、UIScrollView が正常に機能しなくなります。UITableView でも同様に発生すると思われます。
私自身の問題を解決するために、カスタムScrollNodeクラスを作成しました。使い方はとても簡単です:
// create the scroll node
ScrollNode *scrollNode = [ScrollNode nodeWithSize:CGSizeMake(size.width, size.height)];
[self addChild:scrollNode];
// Generate some content for the scroll view
// add it directly to scrollView, or to the built in menu (scrollView.menu)
[scrollNode.menu addChild:yourMenuItem];
// Set the content rect to represent the scroll area
CGRect contentRect = [scrollNode calculateScrollViewContentRect];
[scrollNode setScrollViewContentRect:contentRect];