2016-02-05 3 views
1

Я хотел добавить пользовательский NSView сверху и SKView. Однако он никогда не появляется. Не знаю, что происходит ...Как добавить UIView поверх SKView?

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) { 
     //Trying to add Custom View 
     let smallView = NSView(frame: NSRect(origin:CGPoint(x: 100,y: 100), size: CGSize(width: 200, height: 200))) 
     let layer = CALayer() 
     layer.backgroundColor = CGColorCreateGenericRGB(1.0, 0.0, 0.0, 0.4) 
     smallView.layer = layer 
     view.superview!.addSubview(smallView) 
    } 
} 

Может ли кто-нибудь, кто мог бы дать мне представление о том, что здесь происходит? Я даже попытался добавить некоторые NSLabels к доске MainStory. Ничего не произошло.

Я хотел нарисовать что-то с Coregrapghics и Show на вершине SKScene. Но я не могу двигаться вперед.

https://github.com/cocoBavan/NSViewInSpriteKit

+0

Если вы получите последний код, вы увидите, что я каким-то образом его заработал [1]. Создание NSView с поддержкой слоя [2]. Добавление задержки перед присоединением к SKView после перемещения SKScene в SKView. Я не знаю, почему это работает. Любые идеи оцениваются. – Bavan

ответ

0

Попробуйте добавить UIView с вашего ViewController, вместо того, чтобы добавить его из SKScene. В вашей VC функции добавления (к примеру), создать UIView, а затем просто добавить его в качестве подвида из представления, например, так:

let myView = UIView(frame: CGRect(x: 0, y:0, width: 100, height: 100)) 
self.view.addSubview(myView) 

Это добавит новый вид сверху существующего вида, так что ваш GameScene бы быть ниже нового UIView.