Используйте NSScrollView вместе с Cocos2d-mac (NSOpenGLView) - PullRequest
0 голосов
/ 01 июня 2011

Кто-нибудь использовал NSScrollView для управления прокруткой с помощью каркаса cocos2d-mac?

После долгих попыток мне удалось заставить UIScrollView работать с cocos2d-ios.Будем благодарны за любые указания на использование NSScrollView вместе с NSOpenGLView.

1 Ответ

0 голосов
/ 21 июня 2011

Мне наконец-то удалось заставить NSScrollView работать в моей cocos2d-mac Xib.

Хитрость в том, что вам нужно программно наложить OpenGLView поверх основного представления NSScrollView (оставляя место для полос прокрутки), сначала настроив поддельное представление в качестве documentView scrollView, а затем удалив 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.

...