2016-06-22 9 views
0

これで、UIButtonsをレイヤーする方法がわかりました& SpriteNodesはSpriteNodesがUIButtonの上にくるようにしています。また、私のUIButtonsは私が作成したスクロールビュー上にあります。助けがいいだろう!!UIButtonsとSpriteNodesをレイヤーする方法

コード:

let trunk = SKSpriteNode(imageNamed: "Trunk") 

    trunk.position = CGPoint(x: self.frame.size.width/2, y: self.frame.size.height/2) 
    trunk.zPosition = 55 
    self.addChild(trunk) 

    let frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height) 
    let scrollView = UIScrollView(frame: frame) 
    scrollView.backgroundColor = UIColor.clearColor() 
    scrollView.contentSize = CGSizeMake(self.frame.size.width, self.frame.size.height*4) 
    scrollView.pagingEnabled = false 
    self.view?.addSubview(scrollView) 


    let buyButton1 = UIButton(type: .Custom) 
    buyButton1.frame = CGRect(x: 10, y: 70, width: UIScreen.mainScreen().bounds.width/5, height: UIScreen.mainScreen().bounds.height/6) 

    let image1 = UIImage(named:"Buy999Button") 



    buyButton1.setImage(image1, forState: .Normal) 
    buyButton1.addTarget(self, action: "something", forControlEvents: .TouchUpInside) 
    buyButton1.layer.zPosition = 1 
    scrollView.addSubview(buyButton1) 
    scrollView.layer.zPosition = 1 
    scrollView.sendSubviewToBack(scrollView) 

答えて

0

SKView自体がUIViewのです。すべてのSpriteKitノードは、SKViewのメンバーであり、そのノードに含まれています。ビューの描画順序は変更できますが、その内容は変更できません。

SpriteKitノードは、最初は表示されませんが、SKViewによって管理されるOpenGLフレームバッファに描画されます。 Cocoaの観点から見ると、SKViewはサブビューのない単一のビューです。

簡単に言えば、ノードは技術的にビューと互換性がありません。

注:UITapGestureRecognizerを使用してボタンのように動作するスプライトノードを得ることができます。

何かのように:

if (gestureRecognizer == self.tapGesture) { 
    return CGRectContainsPoint(self.neededSprite.frame, [self convertPoint:[sender locationInView:self.view] toNode:self]); 
} 
return YES; 
} 
+0

この質問はスウィフトにおける要求である、あなたはObjective-Cの –

+0

に答えてきましたそしてこの答えも私が尋ね答えていません..私は尋ねたSpriteNodes&UIButtonsを層にする方法 –

関連する問題