我正在使用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/