我正在使用Sprite Kit添加一堆标签;我想添加一堆文本,但我想我必须将它们作为单独的SKLabelNode
来执行,因为SpriteKit没有单个大文本区域。
我添加的SKLabelNode
fontSize
属性设置为32
,这在iPhone 5上看起来不错,但在iPad Retina上看起来很小。
我的问题是:如何为iPhone设置fontSize
属性32
,为iPad设置64
。
我的代码片段为一个标签:
SKLabelNode *line1 = [SKLabelNode labelNodeWithFontNamed:@"Kronoware"];
line1.text = @"FloppyPig.com";
line1.fontColor = [UIColor whiteColor];
line1.fontSize = 32; // This is what I want to make dynamic for iPhone and iPad.
line1.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame);
[self addChild:line1];
答案 0 :(得分:6)
使用UI_USER_INTERFACE_IDIOM()
检查设备的类型,然后相应地设置fontSize
。例如:
SKLabelNode *line1 = [SKLabelNode labelNodeWithFontNamed:@"Kronoware"];
line1.text = @"FloppyPig.com";
line1.fontColor = [UIColor whiteColor];
line1.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame);
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
line1.fontSize = 64; //iPad
}
else
{
line1.fontSize = 32; //iPhone
}
[self addChild:line1];