首页 > 解决方案 > 'CGRectGetMaxX' 已被属性 'CGRect.maxX' 替换 swift 错误

问题描述

我正在创建一个手机游戏应用程序,当我尝试使用代码时,我不断收到错误“CG​​RectGetMaxX”已被属性“CGRect.maxX”替换:

if spaceship.position.x > CGRectGetMaxX(gameArea) - spaceship.size.width/2 {

    spaceship.position.x = CGRectGetMaxX(gameArea) - spaceship.size.width/2

}

有关如何解决此问题的任何想法...我知道它告诉我它已被替换但是当我尝试使用新方法时它不起作用

谢谢!

标签: swifterror-handling

解决方案


当我尝试使用新方法时它不起作用

那是你的问题。它不是一种方法,它是在 a 上定义的属性CGRect,如错误所述:

CGRectGetMaxX' 已被属性'CGRect.maxX'取代

所以不要这样称呼它:

CGRect.maxX(gameArea)

您改为访问其类型为的maxX属性:gameAreaCGRect

gameArea.maxX

所以你的代码变成:

if spaceship.position.x > gameArea.maxX - spaceship.size.width/2 {

    spaceship.position.x = gameArea.maxX - spaceship.size.width/2

}

推荐阅读