我正试图让我的应用程序在iPad上正确显示,就像我在文本位置上运行一样;
label.position = CGPointMake(-180, -135);
这是针对iPhone res位置设置的,但当然在iPad上运行时,位置完全关闭(仍然在iPhone的相同位置)。
如果检测到iPad,我可以添加任何内容来自动调整位置吗?
我的完整代码如下所示!;
SKLabelNode *label = [SKLabelNode labelNodeWithFontNamed:@"Helvetica"];
label.fontSize = 14;
label.fontColor = [SKColor yellowColor];
label.text = @"-Shield Power-";
label.position = CGPointMake(-180, -135);
label.alpha = 1;
[self addChild:label];
答案 0 :(得分:0)
您可以通过某种方式检测您是在iPad还是iPhone上运行。然后为该职位实施一个if语句。
UIDevice* thisDevice = [UIDevice currentDevice];
if(thisDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
// iPad
}
else
{
// iPhone
}
话虽如此,您还可以尝试自动布局和约束。您可以拥有两个故事板(每个设备一个)并分别设置视图。
答案 1 :(得分:0)
您想使用CGGeometry类 - https://developer.apple.com/library/ios/documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html - 这将使您能够执行以下操作:
CGRectGetWidth(self.view.frame);
和
CGRectGetMinY(self.view.frame);
然后为你的CGPoint构建X和Y坐标,例如
CGPointMake(CGRectGetMinX(self.view.frame)-180,CGRectGetMinY(self.view.frame)-135);
或使用百分比,以便一切都以动态方式发生,如下所示:
CGPointMake(CGRectGetMinX(self.view.frame)-CGRectGetWidth(self.view.frame)*0.5,CGRectGetMinY(self.view.frame)-CGRectGetHeight(self.view.frame)*0.3);