我正在使用http://www.cocos2d-iphone.org/forum/topic/6889中的代码在Cocos2d游戏中向屏幕添加UIView。它在非视网膜分辨率下(所有位置都正确放置)效果很好,但是在视网膜分辨率下,UIView放置在其他位置。我用来向游戏添加视图的代码与网站上的代码基本相同:

 UIView *myView = [[[UIView alloc] init] autorelease];
 myView.backgroundColor = [UIColor redColor];
 CCUIViewWrapper *wrapper = [CCUIViewWrapper wrapperForUIView:myView];
 wrapper.contentSize = CGSizeMake(100, 100);
 wrapper.position = ccp(50,50);
 [self addChild:wrapper];


在非视网膜中,视图从左下角和左角出现50px,在视网膜中从左和左上角出现0px。

最佳答案

视网膜模式下包装器的位置为ccp(320,0)。不知道为什么,但是有效。

    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] == YES && [[UIScreen mainScreen] scale] == 2.00) {
        wrapper.position = ccp(320,0); //Retina
    } else {
        wrapper.position = ccp(160,240); //Normal
    }

关于ios - 如何使用CCUIViewWrapper定位 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8056492/

10-13 04:03