在Xcode上使iPad上的字体大于iPhone

时间:2014-09-08 04:30:25

标签: ios xcode sprite-kit

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

1 个答案:

答案 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];