【问题标题】:IOS: Cannot get correct screen sizeIOS:无法获得正确的屏幕尺寸
【发布时间】:2014-02-02 05:52:00
【问题描述】:

我尝试显示一些SKNodes,并使用屏幕的宽度和高度来设置它们的位置,以使它们与不同的屏幕尺寸兼容。

SKNode* obstacle = [SKSpriteNode spriteNodeWithColor:[SKColor greenColor] size:obstacleSize];
obstacle.position = CGPointMake(80, self.size.height * 0.38);
obstacle.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:obstacle.frame.size];

但是当我以不同的屏幕尺寸运行程序时节点的位置仍然会发生变化(3.5 英寸很好,但 4 英寸错误)。而且我发现self.size.height并不是屏幕的实际高度。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 不要在 viewDidLoad 中呈现场景,将其移动到 viewWillLayoutSubviews 以获得正确的大小。环顾四周,找到正确的方法。

标签: ios sprite-kit screen-size skspritenode sknode


【解决方案1】:

[UIScreen mainScreen].bounds.size 返回一个带有屏幕宽度和高度的 CGSize。请参阅UIScreen Apple documentation

【讨论】:

  • 你得到了什么结果?
【解决方案2】:

[UIScreen mainScreen].bounds.size 应该返回正确的宽度和高度的CGSize 向量。但是,如果您处于横向状态,则值将反转,那么您对纵向的期望。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    相关资源
    最近更新 更多