Ios 为什么我的矩形画错了?

Ios 为什么我的矩形画错了?,ios,swift,graphics,sprite-kit,Ios,Swift,Graphics,Sprite Kit,我正试图在屏幕周围画一个矩形。这是我的密码: let viewRect = SKShapeNode(rect: self.view!.frame) viewRect.strokeColor = SKColor.whiteColor() viewRect.lineWidth = 2.0 addChild(viewRect) 我正在使用self.view!。frame而不是self.frame,因为我的场景与我的屏幕大小不同(场景被拉伸以填充我的屏幕) 我本来希望代

我正试图在屏幕周围画一个矩形。这是我的密码:

    let viewRect = SKShapeNode(rect: self.view!.frame)
    viewRect.strokeColor = SKColor.whiteColor()
    viewRect.lineWidth = 2.0
    addChild(viewRect)
我正在使用
self.view!。frame
而不是
self.frame
,因为我的场景与我的屏幕大小不同(场景被拉伸以填充我的屏幕)

我本来希望代码在我的屏幕上画一个矩形,但它却画了这个(白色的矩形就是所画的):

有人知道为什么我的屏幕上没有画吗

场景大小:1024x768 视图大小:414x736

缩放模式:纵横比填充

您正在将边界创建为场景中的节点,但随后根据呈现场景的视图设置其坐标。场景的坐标系通常与呈现它的视图不同,因此形状与您期望的不同。

您正在将边界创建为场景中的节点,但随后根据呈现场景的视图设置其坐标。SKScene的坐标系通常与呈现它的视图不同,因此形状与您期望的不同。

请阅读所有这些内容,看看是否有适用于您的情况:同时,您可以使用一些调试信息更新您的问题,例如-您的真实场景大小是多少,您的视图大小和场景“缩放模式”是什么?由于您的代码片段与上下文无关,因此有点难以确定,但可能是您使用了“框架”(视图在其超级视图中的位置)而不是“边界”(视图本身的位置和大小)来设置矩形的大小。@Alibeadel不幸的是,“它们似乎都不起作用。”Whirlwind不幸的是,链接中的解决方案没有帮助。我添加了你要求的调试信息!(在底部)@dfgdfg在这个上下文中,self是什么?大概是您希望边界围绕的SKView?在这种情况下,我不知道为什么要使用self.view!。frame而不是self.bounds。请阅读所有这些内容,看看是否适用于您的情况:同时,您可以使用一些调试信息更新您的问题,例如-您的真实场景大小是多少,您的视图大小和场景“缩放模式”是什么?由于您的代码片段与上下文无关,因此有点难以确定,但可能是您使用了“框架”(视图在其超级视图中的位置)而不是“边界”(视图本身的位置和大小)来设置矩形的大小。@Alibeadel不幸的是,“它们似乎都不起作用。”Whirlwind不幸的是,链接中的解决方案没有帮助。我添加了你要求的调试信息!(在底部)@dfgdfg在这个上下文中,self是什么?大概是您希望边界围绕的SKView?在这种情况下,我不知道为什么要使用self.view!。frame而不是self.bounds。请阅读所有这些内容,看看是否适用于您的情况:同时,您可以使用一些调试信息更新您的问题,例如-您的真实场景大小是多少,您的视图大小和场景“缩放模式”是什么?由于您的代码片段与上下文无关,因此有点难以确定,但可能是您使用了“框架”(视图在其超级视图中的位置)而不是“边界”(视图本身的位置和大小)来设置矩形的大小。@Alibeadel不幸的是,“它们似乎都不起作用。”Whirlwind不幸的是,链接中的解决方案没有帮助。我添加了你要求的调试信息!(在底部)@dfgdfg在这个上下文中,self是什么?大概是您希望边界围绕的SKView?在这种情况下,我不知道为什么要使用self.view!。框架而不是自我约束。谢谢!我该如何解决这个问题?这取决于你想做什么。在最简单的情况下,您可以只使用已知的场景大小-1024768,但正如Whirlwind所说,将场景保留在默认大小可能不是您想要的,并且无论如何,使用纵横比填充的场景部分可能会离开屏幕。你读过并理解苹果关于这个主题的笔记了吗:谢谢!我该如何解决这个问题?这取决于你想做什么。在最简单的情况下,您可以只使用已知的场景大小-1024768,但正如Whirlwind所说,将场景保留在默认大小可能不是您想要的,并且无论如何,使用纵横比填充的场景部分可能会离开屏幕。你读过并理解苹果关于这个主题的笔记了吗:谢谢!我该如何解决这个问题?这取决于你想做什么。在最简单的情况下,您可以只使用已知的场景大小-1024768,但正如Whirlwind所说,将场景保留在默认大小可能不是您想要的,并且无论如何,使用纵横比填充的场景部分可能会离开屏幕。您是否阅读并理解苹果关于此主题的注释: