问题描述
|
是否有人使用cocos2d-mac框架使用NSScrollView来控制滚动?
经过很多努力之后,我设法使UIScrollView与cocos2d-ios一起使用。任何将NSScrollView与NSOpenGLView一起使用的指针将不胜感激。
解决方法
我终于设法在我的cocos2d-mac Xib中使用了NSScrollView。
诀窍在于,您必须通过将OpenGLView覆盖在NSScrollView主视图上(为滚动条留出空间),方法是首先将假视图设置为scrollView的documentView,然后从其父视图中移除openGLView并添加再次(因此OpenGLView被绘制在ScrollView上)。您可以按照以下步骤进行操作:
appDelegate = [[NSApplication sharedApplication] delegate];
// Set up NSScrollView with dummy empty view as big as the layer
NSRect rect = NSMakeRect(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位置。