0

我是 OS X 编程的新手。我正在使用 Sprite-Kit 为 Mac 构建一个简单的游戏,并且遇到了将 NSButton(和其他 NSObjects)添加到视图的问题。它只是不起作用 - 没有按钮出现。我的代码:

class LaunchScene: SKScene {

override func didMoveToView(view: SKView) {

    let background = SKSpriteNode(imageNamed: "Wall")
    background.size = CGSize(width: 1600, height: 1200)

    background.position = CGPoint(x: CGRectGetMidX(self.frame),
                                  y: CGRectGetMidY(self.frame))

    self.addChild(background)

    let button = NSButton(frame: NSRect(x: self.frame.width/2,
                 y: self.frame.height/2, width: 50, height: 25))
    self.view!.addSubview(button) //button doesn't show up

我该如何解决?

PS 我尝试向我的视图添加一个图层,正如一些博主所推荐的那样,在这种情况下,按钮确实会显示,但屏幕会完全变黑或只呈现故障。

let layer = CALayer()
self.view!.layer = layer
self.view!.wantsLayer = true
4

1 回答 1

0

好的,最后我想出了如何做到这一点(如果 self.view!.wantsLayer 等于“true”,则不需要为您的视图分配图层):

class LaunchScene: SKScene {

override func didMoveToView(view: SKView) {

let background = SKSpriteNode(imageNamed: "Wall")
background.size = CGSize(width: 1600, height: 1200)

background.position = CGPoint(x: CGRectGetMidX(self.frame),
                              y: CGRectGetMidY(self.frame))

self.addChild(background)

self.view!.wantsLayer = true

let button = NSButton(frame: NSRect(x: self.frame.width/2,
             y: self.frame.height/2, width: 50, height: 25))
self.view!.addSubview(button)
于 2016-05-26T16:17:27.140 回答