将NSScrollView与Cocos2d-mac(NSOpenGLView)一起使用

时间:2011-05-31 22:09:02

标签: cocoa cocos2d-iphone scroll

是否有人使用NSScrollView来控制使用cocos2d-mac框架的滚动?

经过多次努力,我设法让UIScrollView与cocos2d-ios一起工作。任何使用NSScrollView和NSOpenGLView的指针都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我终于设法在我的cocos2d-mac Xib中使用NSScrollView。

诀窍是你必须通过首先设置一个假视图作为scrollView的documentView,以编程方式覆盖OpenGLView在NSScrollView主视图上(为滚动条留出空间),然后从其父视图中删除openGLView并添加它再次(因此OpenGLView是通过ScrollView绘制的)。你可以这样做:

appDelegate = [[NSApplication sharedApplication] delegate];
// Set up NSScrollView with dummy empty view as big as the layer
NSRect rect = NSMakeRect(0, 0, myLayer.width, myLayer.height);
NSView *view = [[NSView alloc] initWithFrame:rect]; 
appDelegate.scrollView.documentView = view;
[view release];

// Push OpenGLView back to front 
[appDelegate.glView removeFromSuperview];  
[appDelegate.splitLeftView addSubview:appDelegate.glView];

然后,您应该使用滚动条事件来相应地更新myLayer位置。