将NSScrollView与Cocos2d-macNSOpenGLView一起使用

问题描述

| 是否有人使用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位置。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...