谁能帮我解决这个 xcode 问题?

Posted

技术标签:

【中文标题】谁能帮我解决这个 xcode 问题?【英文标题】:Can anyone help me with this xcode issue? 【发布时间】:2014-04-03 10:24:43 【问题描述】:

我正在尝试让我的应用在 iPad 上正确显示,就像我在文本位置运行它时一样;

label.position = CGPointMake(-180, -135);

这是为 iPhone res 位置设置的,但当然,在 iPad 上运行时,该位置完全关闭(iPhone 仍然在同一个位置)。

如果检测到 iPad,我可以添加什么来自动调整位置吗?

我的atm完整代码如下!;

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

【问题讨论】:

只需相对于 self.frame.origin.x 制作标签位置 我对 spritekit 不熟悉。但是在 Cocos 2D 中,我们必须设置 AnyObject.Positiontype = yourpositiontype。希望这可以帮助你。 【参考方案1】:

您可以通过某种方式检测您是在 iPad 还是 iPhone 上运行。然后为该位置实现一个 if 语句。

  UIDevice* thisDevice = [UIDevice currentDevice];
    if(thisDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)
    
        // iPad
    
    else
    
        // iPhone
    

话虽如此,您也可以尝试自动布局和约束。您可以有两个故事板(每个设备一个)并分别设置视图。

【讨论】:

这条评论出现在我测试另一个评论的时候,非常感谢你! 没问题。很高兴能提供帮助。 嘿 Marcal 我刚刚遇到了另一个问题...现在我有 3.5 英寸的 iPad 和 iPhone 的位置,但 4 英寸的版本仍然没有!噩梦或新手什么的!似乎只有 UIUserInterfaceIdionPad 和 Phone 版本是否有其他手机尺寸的第三个选项? 找到了!最后我不得不使用这个 CGSize screenSize = [[UIScreen mainScreen] bounds].size; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) if (screenSize.height > 480.0f) /*在这里做 iPhone 5 的东西*/ else /*在这里做 iPhone 经典的东西*/ else /*做iPad 的东西在这里。*/ 【参考方案2】:

您想使用 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);

【讨论】:

非常感谢各位回复的欢呼,我刚刚尝试使用您的建议,但无论我更改什么值,文本现在都保留在 iPhone 和 iPad 的屏幕中间-180/-135 也是。有什么建议吗? 检查您引用的框架。这是一些基本的示例代码来证明它可以工作UIView *blue = [[UIView alloc] initWithFrame:CGRectMake(CGRectGetMinX(self.view.frame)-CGRectGetWidth(self.view.frame)*0.5, CGRectGetMinY(self.view.frame)-CGRectGetHeight(self.view.frame)*0.3, 100, 100)]; blue.backgroundColor = [UIColor blueColor]; [self.view addSubview:blue]; [UIView animateWithDuration:2.0 animations:^blue.center=CGPointMake(CGRectGetMinX(self.view.frame)+CGRectGetWidth(self.view.frame)*0.5, CGRectGetMinY(self.view.frame)+CGRectGetHeight(self.view.frame)*0.3);];

以上是关于谁能帮我解决这个 xcode 问题?的主要内容,如果未能解决你的问题,请参考以下文章

谁能帮我理解为啥在“后缀”起作用时“前缀”不起作用以及如何解决这个问题?

谁能帮我解决《当前页面脚本发生错误》的问题?

谁能帮我解决我创建的触发器插入问题?

谁能帮我解决与passportjs相关的错误

谁能帮我把我的 SQL 连接到这个源代码它对我不起作用

什么是 XAMPP?谁能帮我解决它的 mySQL 错误?